Skip to content

Commit

Permalink
Merge https://github.com/Expensify/App into lhn-first-iou-expense-req…
Browse files Browse the repository at this point in the history
…uest-title-update
  • Loading branch information
ygshbht committed Oct 18, 2023
2 parents 6cb6903 + 830feaf commit e4027e0
Show file tree
Hide file tree
Showing 223 changed files with 4,892 additions and 3,103 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ module.exports = {
},
{
selector: ['parameter', 'method'],
format: ['camelCase'],
format: ['camelCase', 'PascalCase'],
},
],
'@typescript-eslint/ban-types': [
Expand Down
3 changes: 0 additions & 3 deletions .github/actions/javascript/bumpVersion/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -298,9 +298,6 @@ function getPreviousVersion(currentVersion, level) {
if (patch === 0) {
return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MINOR);
}
if (major === 1 && minor === 3 && patch === 83) {
return getVersionStringFromNumber(major, minor, patch - 2, 0);
}
return getVersionStringFromNumber(major, minor, patch - 1, 0);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -998,9 +998,6 @@ function getPreviousVersion(currentVersion, level) {
if (patch === 0) {
return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MINOR);
}
if (major === 1 && minor === 3 && patch === 83) {
return getVersionStringFromNumber(major, minor, patch - 2, 0);
}
return getVersionStringFromNumber(major, minor, patch - 1, 0);
}

Expand Down
3 changes: 0 additions & 3 deletions .github/actions/javascript/getDeployPullRequestList/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -961,9 +961,6 @@ function getPreviousVersion(currentVersion, level) {
if (patch === 0) {
return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MINOR);
}
if (major === 1 && minor === 3 && patch === 83) {
return getVersionStringFromNumber(major, minor, patch - 2, 0);
}
return getVersionStringFromNumber(major, minor, patch - 1, 0);
}

Expand Down
3 changes: 0 additions & 3 deletions .github/actions/javascript/getPreviousVersion/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,6 @@ function getPreviousVersion(currentVersion, level) {
if (patch === 0) {
return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MINOR);
}
if (major === 1 && minor === 3 && patch === 83) {
return getVersionStringFromNumber(major, minor, patch - 2, 0);
}
return getVersionStringFromNumber(major, minor, patch - 1, 0);
}

Expand Down
3 changes: 0 additions & 3 deletions .github/libs/versionUpdater.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,6 @@ function getPreviousVersion(currentVersion, level) {
if (patch === 0) {
return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MINOR);
}
if (major === 1 && minor === 3 && patch === 83) {
return getVersionStringFromNumber(major, minor, patch - 2, 0);
}
return getVersionStringFromNumber(major, minor, patch - 1, 0);
}

Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/platformDeploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,13 @@ jobs:
name: android-sourcemap
path: android/app/build/generated/sourcemaps/react/release/*.map

- name: Upload Android version to GitHub artifacts
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
uses: actions/upload-artifact@v3
with:
name: app-production-release.aab
path: android/app/build/outputs/bundle/productionRelease/app-production-release.aab

- name: Upload Android version to Browser Stack
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
run: curl -u "$BROWSERSTACK" -X POST "https://api-cloud.browserstack.com/app-live/upload" -F "file=@./android/app/build/outputs/bundle/productionRelease/app-production-release.aab"
Expand Down Expand Up @@ -238,6 +245,13 @@ jobs:
name: ios-sourcemap
path: main.jsbundle.map

- name: Upload iOS version to GitHub artifacts
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
uses: actions/upload-artifact@v3
with:
name: New Expensify.ipa
path: /Users/runner/work/App/App/New Expensify.ipa

- name: Upload iOS version to Browser Stack
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
run: curl -u "$BROWSERSTACK" -X POST "https://api-cloud.browserstack.com/app-live/upload" -F "file=@/Users/runner/work/App/App/New Expensify.ipa"
Expand Down
4 changes: 4 additions & 0 deletions .well-known/apple-app-site-association
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@
"/": "/search/*",
"comment": "Search"
},
{
"/": "/send/*",
"comment": "Send money"
},
{
"/": "/money2020/*",
"comment": "Money 2020"
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001038402
versionName "1.3.84-2"
versionCode 1001038601
versionName "1.3.86-1"
}

flavorDimensions "default"
Expand Down
2 changes: 2 additions & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
<data android:scheme="https" android:host="new.expensify.com" android:pathPrefix="/request"/>
<data android:scheme="https" android:host="new.expensify.com" android:pathPrefix="/new"/>
<data android:scheme="https" android:host="new.expensify.com" android:pathPrefix="/search"/>
<data android:scheme="https" android:host="new.expensify.com" android:pathPrefix="/send"/>
<data android:scheme="https" android:host="new.expensify.com" android:pathPrefix="/money2020"/>

<!-- Staging URLs -->
Expand All @@ -88,6 +89,7 @@
<data android:scheme="https" android:host="staging.new.expensify.com" android:pathPrefix="/request"/>
<data android:scheme="https" android:host="staging.new.expensify.com" android:pathPrefix="/new"/>
<data android:scheme="https" android:host="staging.new.expensify.com" android:pathPrefix="/search"/>
<data android:scheme="https" android:host="staging.new.expensify.com" android:pathPrefix="/send"/>
<data android:scheme="https" android:host="staging.new.expensify.com" android:pathPrefix="/money2020"/>
</intent-filter>
</activity>
Expand Down
1 change: 1 addition & 0 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,7 @@ GEM

PLATFORMS
arm64-darwin-22
arm64-darwin-23
x86_64-darwin-20
x86_64-darwin-21

Expand Down
19 changes: 18 additions & 1 deletion docs/_sass/_main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -371,9 +371,26 @@ button {
flex-wrap: wrap;
}

h1 {
font-size: 1.5em;
padding: 20px 0 12px 0;
}

h2 {
font-size: 1.125em;
font-weight: 500;
font-family: "ExpensifyNewKansas", "Helvetica Neue", "Helvetica", Arial, sans-serif;
}

h3 {
font-size: 1em;
font-family: "ExpensifyNeue", "Helvetica Neue", "Helvetica", Arial, sans-serif;
}

h2,
h3 {
font-family: "ExpensifyNewKansas", "Helvetica Neue", "Helvetica", Arial, sans-serif;
margin: 0;
padding: 12px 0 12px 0;
}

blockquote {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,51 @@
---
title: Business Bank Accounts - AUD
description: Business Bank Accounts - AUD
title: Add a Business Bank Account
description: This article provides insight on setting up and using an Australian Business Bank account in Expensify.
---
## Resource Coming Soon!

# How to add an Australian business bank account (for admins)
A withdrawal account is the business bank account that you want to use to pay your employee reimbursements.

_Your policy currency must be set to AUD and reimbursement setting set to Indirect to continue. If your main policy is used for something other than AUD, then you will need to create a new one and set that policy to AUD._

To set this up, you’ll run through the following steps:

1. Go to **Settings > Your Account > Payments** and click **Add Verified Bank Account**
![Click the Verified Bank Account button in the bottom right-hand corner of the screen](https://help.expensify.com/assets/images/add-vba-australian-account.png){:width="100%"}

2. Enter the required information to connect to your business bank account. If you don't know your Bank User ID/Direct Entry ID/APCA Number, please contact your bank and they will be able to provide this.
![Enter your information in each of the required fields](https://help.expensify.com/assets/images/add-vba-australian-account-modal.png){:width="100%"}

3. Link the withdrawal account to your policy by heading to **Settings > Policies > Group > [Policy name] > Reimbursement**
4. Click **Direct reimbursement**
5. Set the default withdrawal account for processing reimbursements
6. Tell your employees to add their deposit accounts and start reimbursing.

# How to delete a bank account
If you’re no longer using a bank account you previously connected to Expensify, you can delete it by doing the following:

1. Navigate to Settings > Accounts > Payments
2. Click **Delete**
![Click the Delete button](https://help.expensify.com/assets/images/delete-australian-bank-account.png){:width="100%"}

You can complete this process either via the web app (on a computer), or via the mobile app.

# Deep Dive
## Bank-specific batch payment support

If you are new to using Batch Payments in Australia, to reimburse your staff or process payroll, you may want to check out these bank-specific instructions for how to upload your .aba file:

- ANZ Bank - [Import a file for payroll payments](https://www.anz.com.au/support/internet-banking/pay-transfer-business/payroll/import-file/)
- CommBank - [Importing and using
 Direct Entry (EFT) files](https://www.commbank.com.au/business/pds/003-279-importing-a-de-file.pdf)
- Westpac - [Importing Payment Files](https://www.westpac.com.au/business-banking/online-banking/support-faqs/import-files/)
- NAB - [Quick Reference Guide - Upload a payment file](https://www.nab.com.au/business/online-banking/nab-connect/help)
- Bendigo Bank - [Bulk payments user guide](https://www.bendigobank.com.au/globalassets/documents/business/bulk-payments-user-guide.pdf)
- Bank of Queensland - [Payments file upload facility FAQ](https://www.boq.com.au/help-and-support/online-banking/ob-faqs-and-support/faq-pfuf)

**Note:** Some financial institutions require an ABA file to include a *self-balancing transaction*. If you are unsure, please check with your bank to ensure whether to tick this option or not, as selecting an incorrect option will result in the ABA file not working with your bank's internet banking platform.

## Enable Global Reimbursement

If you have employees in other countries outside of Australia, you can now reimburse them directly using Global Reimbursement.

To do this, you’ll first need to delete any existing Australian business bank accounts. Then, you’ll want to follow the instructions to enable Global Reimbursements
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
title: Add a Deposit Account (AUD)
title: Deposit Accounts (AUD)
description: Expensify allows you to add a personal bank account to receive reimbursements for your expenses. We never take money out of this account — it is only a place for us to deposit funds from your employer. This article covers deposit accounts for Australian banks.
---

## How-to add your Australian personal deposit account information
1. Confirm with your Policy Admin that they’ve set up Global Reimbursment
2. Set your default policy (by selecting the correct policy after clicking on your profile picture) before adding your deposit account.
3. Go to *Settings > Account > Payments* and click *Add Deposit-Only Bank Account*
3. Go to **Settings > Account > Payments** and click **Add Deposit-Only Bank Account**
![Click the Add Deposit-Only Bank Account button](https://help.expensify.com/assets/images/add-australian-deposit-only-account.png){:width="100%"}

4. Enter your BSB, account number and name. If your screen looks different than the image below, that means your company hasn't enabled reimbursements through Expensify. Please contact your administrator and ask them to enable reimbursements.

![Fill in the required fields](https://help.expensify.com/assets/images/add-australian-deposit-only-account-modal.png){:width="100%"}

# How-to delete a bank account
Bank accounts are easy to delete! Simply click the red Delete button in the bank account under *Settings > Account > Payments*.
Bank accounts are easy to delete! Simply click the red **Delete** button in the bank account under **Settings > Account > Payments**.

![Click the Delete button](https://help.expensify.com/assets/images/delete-australian-bank-account.png){:width="100%"}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
---
title: Pay-per-use Subscription
description: Pay-per-use Subscription
description: Learn more about your pay-per-use subscription.
---
## Resource Coming Soon!
# Overview
Pay-per-use is a billing option for people who prefer to use Expensify month to month or on an as-needed basis. On a pay-per-use subscription, you will only pay for active users in that given month.

**We recommend this billing setup for companies that use Expensify a few months out of the year**. If you have expenses to manage for more than 6 out of 12 months, an [**Annual Subscription**](https://help.expensify.com/articles/expensify-classic/billing-and-subscriptions/Annual-Subscription#gsc.tab=0) may better suit your needs.

# How to start a pay-per-use subscription
1. Create a Group Workspace if you haven’t already by going to **Settings > Workspaces > Group > New Workspace**
2. Once you’ve created your Workspace, under the “Subscription” section on the Group Workspace page, select “Pay-per-use”.

# FAQ

## What is considered an active user?
An active user is anyone who chats, creates, modifies, submits, approves, reimburses, or exports a report in Expensify. This includes actions taken by a Copilot and Workspace automation (such as Scheduled Submit and automated reimbursement). If no one on your Group Workspace uses Expensify in a given month, you will not be billed for that month.

You can review the number of Active Users by selecting “View Activity” next to your billing receipt (**Settings > Account > Payments > Billing History**).

## Why do I have pay-per-use users in addition to my Annual Subscription on my Expensify bill?
If you have an Annual Subscription, but go above your set user count, we will charge at the pay-per-use rate for these ad-hoc users.

If you expect to have an increased number of users for more than 3 out of 12 months, the most cost-effective approach is to increase your Annual Subscription size.

## Will billing only be in USD currency?
While USD is the default billing currency, we also have GBP, AUD, and NZD billing currencies. You can see the rates on our [pricing](https://www.expensify.com/pricing) page.


Loading

0 comments on commit e4027e0

Please sign in to comment.