Skip to content

Commit f757fd2

Browse files
committed
Merge branch 'main' of github.com:Expensify/App into perf/search-suffix-ukkonen-tree
2 parents de7f3b5 + 780e09e commit f757fd2

File tree

298 files changed

+7264
-3207
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

298 files changed

+7264
-3207
lines changed

.github/ISSUE_TEMPLATE/Standard.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ ___
1010
**Version Number:**
1111
**Reproducible in staging?:**
1212
**Reproducible in production?:**
13+
**If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:**
1314
**If this was caught during regression testing, add the test name, ID and link from TestRail:**
1415
**Email or phone of affected tester (no customers):**
1516
**Logs:** https://stackoverflow.com/c/expensify/questions/4856
@@ -34,9 +35,11 @@ Can the user still use Expensify without this being fixed? Have you informed the
3435
Check off any platforms that are affected by this issue
3536
--->
3637
Which of our officially supported platforms is this issue occurring on?
37-
- [ ] Android: Native
38+
- [ ] Android: Standalone
39+
- [ ] Android: HybridApp
3840
- [ ] Android: mWeb Chrome
39-
- [ ] iOS: Native
41+
- [ ] iOS: Standalone
42+
- [ ] iOS: HybridApp
4043
- [ ] iOS: mWeb Safari
4144
- [ ] MacOS: Chrome / Safari
4245
- [ ] MacOS: Desktop

.github/workflows/buildAndroid.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,14 @@ on:
2020
description: The pull request number associated with this build, if relevant.
2121
type: string
2222
required: false
23+
2324
outputs:
2425
AAB_FILE_NAME:
2526
value: ${{ jobs.build.outputs.AAB_FILE_NAME }}
2627
APK_FILE_NAME:
2728
value: ${{ jobs.build.outputs.APK_FILE_NAME }}
29+
APK_ARTIFACT_NAME:
30+
value: ${{ jobs.build.outputs.APK_ARTIFACT_NAME }}
2831

2932
workflow_dispatch:
3033
inputs:
@@ -56,6 +59,7 @@ jobs:
5659
outputs:
5760
AAB_FILE_NAME: ${{ steps.build.outputs.AAB_FILE_NAME }}
5861
APK_FILE_NAME: ${{ steps.build.outputs.APK_FILE_NAME }}
62+
APK_ARTIFACT_NAME: ${{ steps.build.outputs.APK_ARTIFACT_NAME }}
5963

6064
steps:
6165
- name: Checkout
@@ -159,6 +163,7 @@ jobs:
159163
echo "APK_PATH=$apkPath"
160164
echo "APK_FILE_NAME=$(basename "$apkPath")"
161165
echo "SHOULD_UPLOAD_SOURCEMAPS=$SHOULD_UPLOAD_SOURCEMAPS"
166+
echo "APK_ARTIFACT_NAME=${{ inputs.artifact-prefix }}android-artifact-apk" >> "$GITHUB_OUTPUT"
162167
} >> "$GITHUB_OUTPUT"
163168
164169
- name: Upload Android AAB artifact
@@ -174,7 +179,7 @@ jobs:
174179
continue-on-error: true
175180
uses: actions/upload-artifact@v4
176181
with:
177-
name: ${{ inputs.artifact-prefix }}android-artifact-apk
182+
name: ${{ steps.build.outputs.APK_ARTIFACT_NAME }}
178183
path: ${{ steps.build.outputs.APK_PATH }}
179184

180185
- name: Upload Android sourcemaps artifact

.github/workflows/e2ePerformanceTests.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
uses: ./.github/actions/javascript/getArtifactInfo
4747
with:
4848
GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_COMMIT_TOKEN }}
49-
ARTIFACT_NAME: baseline-${{ steps.getMostRecentRelease.outputs.VERSION }}-android-artifact-apk
49+
ARTIFACT_NAME: baseline-${{ steps.getMostRecentRelease.outputs.VERSION }}android-artifact-apk
5050

5151
- name: Skip build if there's already an existing artifact for the baseline
5252
if: ${{ fromJSON(steps.checkForExistingArtifact.outputs.ARTIFACT_FOUND) }}
@@ -125,7 +125,7 @@ jobs:
125125
uses: actions/download-artifact@v4
126126
id: downloadBaselineAPK
127127
with:
128-
name: baseline-${{ needs.prep.outputs.BASELINE_VERSION }}-android-artifact-apk
128+
name: ${{ needs.buildBaseline.outputs.APK_ARTIFACT_NAME }}
129129
path: zip
130130
# Set github-token only if the baseline was built in this workflow run:
131131
github-token: ${{ needs.prep.outputs.BASELINE_ARTIFACT_WORKFLOW_ID && github.token }}
@@ -139,7 +139,7 @@ jobs:
139139
uses: actions/download-artifact@v4
140140
id: downloadDeltaAPK
141141
with:
142-
name: delta-${{ needs.prep.outputs.DELTA_REF }}-android-artifact-apk
142+
name: ${{ needs.buildDelta.outputs.APK_ARTIFACT_NAME }}
143143
path: zip
144144

145145
- name: Rename delta APK

android/app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ android {
110110
minSdkVersion rootProject.ext.minSdkVersion
111111
targetSdkVersion rootProject.ext.targetSdkVersion
112112
multiDexEnabled rootProject.ext.multiDexEnabled
113-
versionCode 1009004701
114-
versionName "9.0.47-1"
113+
versionCode 1009005000
114+
versionName "9.0.50-0"
115115
// Supported language variants must be declared here to avoid from being removed during the compilation.
116116
// This also helps us to not include unnecessary language variants in the APK.
117117
resConfigs "en", "es"

assets/images/companyCards/card-bank_of_america.svg

-37
This file was deleted.

assets/images/companyCards/card-other.svg

-35
This file was deleted.

desktop/package-lock.json

+15-15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

desktop/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"dependencies": {
77
"electron-context-menu": "^2.3.0",
88
"electron-log": "^4.4.8",
9-
"electron-updater": "^6.3.6",
9+
"electron-updater": "^6.3.8",
1010
"mime-types": "^2.1.35",
1111
"node-machine-id": "^1.1.12"
1212
},

docs/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ You can choose to connect either a business deposit-only account that only recei
88

99
| Business deposit-only account | Verified business account |
1010
|---------------------------------------------------|------------------------------------------------------|
11-
| ✔ Receive reimbursements for invoices | ✔ Reimburse expenses via direct bank transfer |
11+
| ✔ Receive payments for invoices | ✔ Reimburse expenses via direct bank transfer |
1212
| | ✔ Pay bills |
1313
| | ✔ Issue Expensify Cards |
1414

docs/articles/expensify-classic/bank-accounts-and-payments/payments/Pay-Bills.md docs/articles/expensify-classic/bank-accounts-and-payments/payments/Create-and-Pay-Bills.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
---
2-
title: Pay Bills
2+
title: Create and Pay Bills
33
description: Expensify bill management and payment methods.
44
---
55
Streamline your operations by receiving and paying vendor or supplier bills directly in Expensify. Vendors can send bills even if they don't have an Expensify account, and you can manage payments seamlessly.
66

7-
## Receive Bills in Expensify
7+
# Receive Bills in Expensify
88
You can receive bills in three ways:
99
- Directly from Vendors: Provide your Expensify billing email to vendors.
1010
- Forwarding Emails: Forward bills received in your email to Expensify.
1111
- Manual Upload: For physical bills, create a Bill in Expensify from the Reports page.
1212

13-
## Bill Pay Workflow
13+
# Bill Pay Workflow
1414
1. When a vendor or supplier sends a bill to Expensify, the document is automatically SmartScanned, and a Bill is created. This Bill is managed by the primary domain contact, who can view it on the Reports page within their default group policy.
1515

1616
2. Once the Bill is ready for processing, it follows the established approval workflow. As each person approves it, the Bill appears in the next approver’s Inbox. The final approver will pay the Bill using one of the available payment methods.
1717

1818
3. During this process, the Bill is coded with the appropriate GL codes from your connected accounting software. After completing the approval workflow, the Bill can be exported back to your accounting system.
1919

20-
## Payment Methods
20+
# Payment Methods
2121
There are multiple ways to pay Bills in Expensify. Let’s go over each method below.
2222

23-
### ACH bank-to-bank transfer
23+
## ACH bank-to-bank transfer
2424

2525
To use this payment method, you must have a [business bank account connected to your Expensify account](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account).
2626

@@ -32,7 +32,7 @@ To use this payment method, you must have a [business bank account connected to
3232

3333
**Fees:** None
3434

35-
### Credit or Debit Card
35+
## Credit or Debit Card
3636
This option is available to all US and International customers receiving a bill from a US vendor with a US business bank account.
3737

3838
**To pay with a credit or debit card:**
@@ -43,13 +43,13 @@ This option is available to all US and International customers receiving a bill
4343

4444
**Fees:** 2.9% of the total amount paid.
4545

46-
### Venmo
46+
## Venmo
4747
If both you and the vendor must have Venmo connected to Expensify, you can pay the bill by following the steps outlined [here](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/Third-Party-Payments#setting-up-third-party-payments).
4848

4949
**Fees:** Venmo charges a 3% sender’s fee.
5050

5151

52-
### Pay outside of Expensify
52+
## Pay outside of Expensify
5353
If you are unable to pay using one of the above methods, you can still mark the Bill as paid. This will update its status to indicate that the payment was made outside Expensify.
5454

5555
**To mark a Bill as paid outside of Expensify:**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: Pay an Invoice
3+
description: A guide to different methods of paying an invoice
4+
---
5+
6+
<div id="expensify-classic" markdown="1">
7+
8+
There are multiple ways to pay Invoices in Expensify. Let’s go over each method below.
9+
10+
# How to Pay Invoices
11+
12+
1. Sign in to your [Expensify web account](www.expensify.com).
13+
2. Click on the Invoice you’d like to pay to see the details.
14+
3. Click on the **Pay** button.
15+
4. Follow the prompts to pay through one of the following methods.
16+
17+
### ACH bank-to-bank transfer
18+
19+
To use this payment method, you must have a [business bank account connected to your Expensify account](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account).
20+
21+
**To pay with an ACH bank-to-bank transfer:**
22+
1. Sign in to your [Expensify web account](www.expensify.com).
23+
2. Go to the **Home** or **Reports** page and locate the Invoice that needs to be paid.
24+
3. Click the **Pay** button to be redirected to the Invoice.
25+
4. Choose the ACH option from the drop-down list.
26+
27+
**Fees:** None
28+
29+
### Credit or Debit Card
30+
This option is available to all US and International customers receiving an invoice from a US vendor with a US business bank account.
31+
32+
**To pay with a credit or debit card:**
33+
1. Sign in to your [Expensify web account](www.expensify.com).
34+
2. Click on the Invoice you’d like to pay to see the details.
35+
3. Click the **Pay** button.
36+
4. Enter your credit card or debit card details.
37+
38+
**Fees:** 2.9% credit card payment fee.
39+
40+
### Venmo
41+
If both you and the vendor must have Venmo connected to Expensify, you can pay the Invoice by following the steps outlined [here](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/Third-Party-Payments#setting-up-third-party-payments).
42+
43+
**Fees:** Venmo and Paypal.me charges may apply.
44+
45+
46+
### Pay outside of Expensify
47+
If you are unable to pay using one of the above methods, you can still mark the Invoice as paid. This will update its status to indicate that the payment was made outside Expensify.
48+
49+
**To mark an Invoice as paid outside of Expensify:**
50+
1. Sign in to your [Expensify web account](www.expensify.com).
51+
2. Click on the Invoice you’d like to pay to see the details.
52+
3. Click the Pay button.
53+
4. Choose **I’ll do it manually**.
54+
55+
**Fees:** None.
56+
57+
{% include faq-begin.md %}
58+
59+
## What’s the difference between an Invoice and an Expense Report in Expensify?
60+
An invoice is an expense submitted to a client or contractor for payment. An expense report is an expense/group of expenses submitted to an employer for reimbursement.
61+
62+
## What’s the difference between a Bill and an Invoice in Expensify?
63+
A Bill is an amount owed to a payee (usually a vendor or supplier) and is usually created from a vendor invoice. An Invoice is a receivable and indicates an amount owed to you by someone else.
64+
65+
{% include faq-end.md %}

0 commit comments

Comments
 (0)