Skip to content

Commit

Permalink
Merge main / fix conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
aldo-expensify committed May 1, 2024
2 parents fe49b62 + f338cc6 commit 701d650
Show file tree
Hide file tree
Showing 163 changed files with 3,207 additions and 1,028 deletions.
7 changes: 7 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ module.exports = {
},
},
],
'rulesdir/avoid-anonymous-functions': 'off',
},
},
// This helps disable the `prefer-alias` rule to be enabled for specific directories
Expand Down Expand Up @@ -276,5 +277,11 @@ module.exports = {
'no-restricted-syntax': ['error', 'ForInStatement', 'LabeledStatement', 'WithStatement'],
},
},
{
files: ['en.ts', 'es.ts'],
rules: {
'rulesdir/use-periods-for-error-messages': 'error',
},
},
],
};
44 changes: 34 additions & 10 deletions .github/workflows/failureNotifier.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,49 @@ jobs:
});
return jobsData.data;
- name: Fetch Previous Workflow Run
id: previous-workflow-run
uses: actions/github-script@v7
with:
script: |
const runId = ${{ github.event.workflow_run.id }};
const allRuns = await github.rest.actions.listWorkflowRuns({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'preDeploy.yml',
});
const filteredRuns = allRuns.data.workflow_runs.filter(run => run.actor.login !== 'OSBotify' && run.status !== 'cancelled');
const currentIndex = filteredRuns.findIndex(run => run.id === runId);
const previousRun = filteredRuns[currentIndex + 1];
return previousRun;
- name: Fetch Previous Workflow Run Jobs
id: previous-workflow-jobs
uses: actions/github-script@v7
with:
script: |
const previousRun = ${{ steps.previous-workflow-run.outputs.result }};
const runId = previousRun.id;
const jobsData = await github.rest.actions.listJobsForWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: runId,
});
return jobsData.data;
- name: Process Each Failed Job
uses: actions/github-script@v7
with:
script: |
const jobs = ${{ steps.fetch-workflow-jobs.outputs.result }};
const previousRun = ${{ steps.previous-workflow-run.outputs.result }};
const previousRunJobs = ${{ steps.previous-workflow-jobs.outputs.result }};
const headCommit = "${{ github.event.workflow_run.head_commit.id }}";
const prData = await github.rest.repos.listPullRequestsAssociatedWithCommit({
owner: context.repo.owner,
repo: context.repo.repo,
commit_sha: headCommit,
});
const pr = prData.data[0];
const prLink = pr.html_url;
const prAuthor = pr.user.login;
Expand All @@ -50,14 +80,8 @@ jobs:
if (jobs.jobs[i].conclusion == 'failure') {
const jobName = jobs.jobs[i].name;
const jobLink = jobs.jobs[i].html_url;
const issues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
labels: failureLabel,
state: 'open'
});
const existingIssue = issues.data.find(issue => issue.title.includes(jobName));
if (!existingIssue) {
const previousJob = previousRunJobs.jobs.find(job => job.name === jobName);
if (previousJob?.conclusion === 'success') {
const annotations = await github.rest.checks.listAnnotations({
owner: context.repo.owner,
repo: context.repo.repo,
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001046800
versionName "1.4.68-0"
versionCode 1001046900
versionName "1.4.69-0"
// Supported language variants must be declared here to avoid from being removed during the compilation.
// This also helps us to not include unnecessary language variants in the APK.
resConfigs "en", "es"
Expand Down
330 changes: 330 additions & 0 deletions assets/images/connection-complete.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Each month, you’ll be billed for the amount of members you originally set in y

For example, let’s say you set your annual subscription size at 10 members and you’re on the Control plan. You’ll be billed $18/member for 10 members each month. However, let’s say in one particular month you had 12 active members, you’d be billed at $18/member for the 10 members in your subscription size + $36/member (pay-per-use rate) for the additional 2 active members.

You can always increase your annual subscription size, which will extend your annual subscription length. You cannot reduce your annual subscription size until your current subscription has ended. If you have any questions about this, reach out to Concierge or your account manager.
You can always increase your annual subscription size, which will extend your annual subscription length. However, you cannot reduce your annual subscription size until your current subscription has ended. If you have any questions about this, contact Concierge or your account manager.
## Pay-per-use
The pay-per-use rate is the full rate per active member without any discounts. The pay-per-use rate for each member on the Collect plan is $20 and on the Control plan is $36.
The pay-per-use rate is the full rate per active member without any discounts. The pay-per-use rate for each member on the Collect plan is $20, and on the Control plan, it is $36.
## How the Expensify Card can reduce your bill
Bundling the Expensify Card with an annual subscription ensures you pay the lowest possible monthly price for Expensify. And the more you spend on Expensify Cards, the lower your bill will be.

Expand All @@ -26,15 +26,19 @@ If at least 50% of your approved USD spend in a given month is on your company
Additionally, every month, you receive 1% cash back on all Expensify Card purchases, and 2% if the spend across your Expensify Cards is $250k or more (_applies to USD purchases only_). Any cash back from the Expensify Card is first applied to your Expensify bill, further reducing your price per member. Any leftover cash back is deposited directly into your connected bank account.
## Savings calculator
To see how much money you can save (and even earn!) by using the Expensify Card, check out our [savings calculator](https://use.expensify.com/price-savings-calculator). Just enter a few details and see how much you’ll save!

{% include faq-begin.md %}

## What if we put less than 50% of our total spend on the Expensify Card?
If you put less than 50% of your total USD spend on your Expensify Card, your bill gets discounted on a sliding scale based on the percentage of use. So if you don't use the Expensify Card at all, you'll be charged the full rate for each member based on your plan and subscription.
Example:
If less than 50% of your total USD spend is on the Expensify Card, the bill is discounted on a sliding scale.

**Example:**
- Annual subscription discount: 50%
- % of Expensify Card spend (USD) across all workspaces: 20%
- Expensify Card discount: 20%
You save 70% on the price per member on your bill for that month.

Note: USD spend refers to approved USD transactions on the Expensify Card in any given month, compared to all approved USD spend on workspaces in that same month.
In that case, you'd save 70% on the price per member for that month's bill.

Note: USD spend refers to approved USD transactions on the Expensify Card in any given month.

{% include faq-end.md %}
38 changes: 18 additions & 20 deletions docs/articles/expensify-classic/spending-insights/Insights.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,67 +4,67 @@ description: How to get the most out of the Custom Reporing and Insights
redirect_from: articles/other/Insights/
---
<!-- The lines above are required by Jekyll to process the .md file -->
{% raw %}
# What is Custom Reporting and Insights?
The Insights dashboard allows you to monitor all aspects of company spend across categories, employees, projects, departments, and more. You can see trends in real time, forecast company budgets, and build unlimited custom reports with help from our trained specialist team.

# Overview
The Insights dashboard allows you to monitor all aspects of company spending across categories, employees, projects, departments, and more. You can see trends in real-time, forecast company budgets, and build unlimited custom reports with help from our trained specialist team.

![Insights Pie Chart](https://help.expensify.com/assets/images/insights-chart.png){:width="100%"}
## Review your Insights data

1. Navigate to your [Insights page](https://www.expensify.com/expenses?param={"fromInsightsTab":true,"viewMode":"charts"}), located in the left hand menu
1. Navigate to your [Insights page](https://www.expensify.com/expenses?param={"fromInsightsTab":true,"viewMode":"charts"}), located in the left-hand menu
2. Select a specific date range (the default view has the current month pre-selected)
3. Use the filter options to select the categories, tags, employees etc that you want insights on
3. Use the filter options to select the categories, tags, employees, or any other parameter
4. Make sure that View in the top right corner is set to the pie chart icon
5. You can view any dataset in more detail by clicking in the “View Raw Data” column

## Export your Insights data

1. Switch the View in the top right corner of the [Insights page](https://www.expensify.com/expenses?param={"fromInsightsTab":true,"viewMode":"charts"}) to the lists icon
2. Select the expenses you want to export, either by selecting individual expenses, or checking the select all box (next to Date at the top)
3. Select **Export To** in the top right hand corner to download the report as a .csv file
3. Select **Export To** in the top right-hand corner to download the report as a .csv file

## Create a Custom Export Report for your Expenses

1. Navigate to **Settings > Account > Preferences > scroll down to CSV Export Formats**
2. Build up a report using these [formulas](https://community.expensify.com/discussion/5795/deep-dive-expense-level-formula/p1?new=1)
2. Build up a report using these [formulas]((https://help.expensify.com/articles/expensify-classic/spending-insights/Custom-Templates))
3. Click the **Custom Export** button on the Insights page and your Account Manager will help get you started on building up your report

## Create a Custom Export Report for your Policy
## Create a Custom Export Report for your Workspace

1. Navigate to **Settings > Policies > Group > [Policy Name] > Export Formats**
2. Build up a report using these [formulas](https://community.expensify.com/discussion/5795/deep-dive-expense-level-formula/p1?new=1)
1. Navigate to **Settings > Workspaces > Group > [Workspace Name] > Export Formats**
2. Build up a report using these [formulas](https://help.expensify.com/articles/expensify-classic/spending-insights/Custom-Templates)
3. If you need any help, click the **Support** button on the top left to contact your Account Manager

{% include faq-begin.md %}

#### Can I share my custom export report?

If you would like to create a custom export report that can be shared with other policy admins, you can create these by navigating to the **[Settings > Policies > Group > [Policy Name] > Export Formats](https://www.expensify.com/admin_policies?param={"section":"group"})** page. Custom export reports created under **Settings > Account > Preferences** page are only available to the member who created them.
If you would like to create a custom export report that can be shared with other workspace admins, you can do so by navigating to the **[Settings > Workspaces > Group > [Workspace Name] > Export Formats** page. Custom export reports created under the **Settings > Account > Preferences** page are only available to the member who created them.

#### Can I put expenses from different policies on the same report?
#### Can I put expenses from different workspaces on the same report?

Custom export reports created under Settings > Account > Preferences page are able to export expenses from multiple policies, and custom export formats created under Settings > Policies > Group > [Policy Name] > Export Formats are for expenses reported under that policy only.
Custom export reports created under the Settings > Account > Preferences page can export expenses from multiple workspaces, and custom export formats created under Settings > Workspaces> Group > [Workspace Name] > Export Formats are for expenses reported under that workspace only.

#### Are there any default export reports available?

Yes! We have [seven default reports](https://community.expensify.com/discussion/5602/deep-dive-default-export-templates) available to export directly from the Reports page:
Yes! We have [seven default reports](https://help.expensify.com/articles/expensify-classic/spending-insights/Default-Export-Templates) available to export directly from the Reports page:

- **All Data** - Expense Level Export** - the name says it all! This is for the people who want ALL the details from their expense reports. We're talking Tax, Merchant Category Codes, Approvers - you name it, this report's got it!
- **All Data** - Report Level Export - this is the report for those who don't need to see each individual expense but want to see a line by line breakdown at a report level - submitter, total amount, report ID - that kind of stuff
- **All Data** - Report Level Export - this is the report for those who don't need to see each individual expense but want to see a line-by-line breakdown at a report level - submitter, total amount, report ID - that kind of stuff
- **Basic Export** - this is the best way to get a simple breakdown of all your expenses - just the basics
- **Canadian Multiple Tax Export** - tax, GST, PST...if you need to know tax then this is the export you want!
- **Category Export** - want to see a breakdown of your expenses by Category? This is the export you
- **Per Diem Export** - the name says it all
- **Tag Export** - much like the Category Export, but for Tags

*To note: these reports will be emailed directly to your email address rather than downloaded on your computer.*
*These reports will be emailed directly to your email address rather than automatically downloaded.*

#### How many expenses can I export in one report?
The custom export reports are best for small-to-medium chunks of data. If you want to export large amounts of data, we recommend you use a [default export report](https://community.expensify.com/discussion/5602/deep-dive-default-export-templates) that you can run from the Reports page.
The custom export reports are best for small-to-medium chunks of data. If you want to export large amounts of data, we recommend you use a [default export report](https://help.expensify.com/articles/expensify-classic/spending-insights/Default-Export-Templates) that you can run from the Reports page.

#### What other kinds of export reports can my Account Manager help me create?

We’ve built a huge variety of custom reports for customers, so make sure to reach out to your Account Manager for more details. Some examples of custom reports we’ve build for customers before are:
We’ve built a huge variety of custom reports for customers, so make sure to reach out to your Account Manager for more details. Some examples of custom reports we’ve built for customers before are:

- Accrual Report
- Aged Approval Reports
Expand Down Expand Up @@ -97,7 +97,5 @@ We’ve built a huge variety of custom reports for customers, so make sure to re
- Unposted Procurement Aging Report
- Unposted Travel Aging Report
- Vendor Spend
- … or anything you can imagine!
{% endraw %}

{% include faq-end.md %}
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ To change the roles and permissions for members of your workspace,
3. Click the desired workspace name.
4. Click the **Members** tab on the left.
5. Click the Settings icon next to the desired member.
6. Select a new role for the member.
6. Select a new role for the member.

| | Employee | Auditor | Workspace Admin |
|---------------------------|----------------------------------|---------|-----------------|
| Submit reports | Yes | Yes | Yes |
| Comment on reports | Yes | Yes | Yes |
| Approve workspace reports | Only reports submitted to them | Yes | Yes |
| Edit workspace settings | No | No | Yes |
| Employee | Auditor | Workspace Admin |
| ----------------------------------------- | ------------------------------------------ | ----------------------------------------- |
| &#10004; Submit their own reports | &#10004; Submit their own reports | &#10004; Submit their own reports |
| &#10004; Approve reports submitted to them| &#10004; Approve reports submitted to them | &#10004; Approve reports submitted to them|
| | &#10004; View all workspace reports | &#10004; View all workspace reports |
| | | &#10004; Approve all workspace reports |
| | | &#10004; Edit workspace settings |

{:start="7"}
7. If your workspace uses Advanced Approvals, select an “Approves to.” This determines who the member’s reports must be approved by, if applicable. If “no one” is selected, then any one with the Auditor or Workspace Admin role can approve the member’s reports.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,13 @@ If you’re inviting multiple people who will be assigned the same role, you can

7. Select a role for the new member. The following table shows the permissions available for each role:

| | Employee | Auditor | Workspace Admin |
|---------------------------|----------------------------------|---------|-----------------|
| Submit reports | Yes | Yes | Yes |
| Comment on reports | Yes | Yes | Yes |
| Approve workspace reports | Only reports submitted to them | Yes | Yes |
| Edit workspace settings | No | No | Yes |
| Employee | Auditor | Workspace Admin |
| ----------------------------------------- | ------------------------------------------ | ----------------------------------------- |
| &#10004; Submit their own reports | &#10004; Submit their own reports | &#10004; Submit their own reports |
| &#10004; Approve reports submitted to them| &#10004; Approve reports submitted to them | &#10004; Approve reports submitted to them|
| | &#10004; View all workspace reports | &#10004; View all workspace reports |
| | | &#10004; Approve all workspace reports |
| | | &#10004; Edit workspace settings |

8. If your workspace uses Advanced Approvals, select “Approves to.” This determines who the member’s reports must be approved by, if applicable. If “no one” is selected, then if the member submits a report, anyone with the Auditor or Workspace Admin role can approve their reports.
9. Add a personal message, if desired. This message will appear in the invitation email or message.
Expand Down
4 changes: 0 additions & 4 deletions docs/articles/new-expensify/getting-started/Coming-Soon.md

This file was deleted.

Loading

0 comments on commit 701d650

Please sign in to comment.