Skip to content

Commit

Permalink
Merge branch 'Expensify:main' into krishna2323/issue/39492
Browse files Browse the repository at this point in the history
  • Loading branch information
Krishna2323 authored Apr 13, 2024
2 parents 3c114ac + db9e01c commit 02f784c
Show file tree
Hide file tree
Showing 143 changed files with 3,175 additions and 1,515 deletions.
4 changes: 2 additions & 2 deletions __mocks__/react-native-onyx.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

/* eslint-disable rulesdir/prefer-onyx-connect-in-libs */
import type {ConnectOptions, OnyxKey} from 'react-native-onyx';
import Onyx, {withOnyx} from 'react-native-onyx';
import Onyx, {useOnyx, withOnyx} from 'react-native-onyx';

let connectCallbackDelay = 0;
function addDelayToConnectCallback(delay: number) {
Expand Down Expand Up @@ -40,4 +40,4 @@ const reactNativeOnyxMock: ReactNativeOnyxMock = {
};

export default reactNativeOnyxMock;
export {withOnyx};
export {withOnyx, useOnyx};
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 1001046204
versionName "1.4.62-4"
versionCode 1001046206
versionName "1.4.62-6"
// 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
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: Add a Business Bank Account
description: This article provides insight on setting up and using an Australian Business Bank account in Expensify.
---

# 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
@@ -0,0 +1,106 @@
---
title: International Reimbursements
description: International Reimbursements
---
# Overview

If your company’s business bank account is in the US, Canada, the UK, Europe, or Australia, you now have the option to send direct reimbursements to nearly any country across the globe!
The process to enable global reimbursements is dependent on the currency of your reimbursement bank account, so be sure to review the corresponding instructions below.

# How to request international reimbursements

## The reimbursement account is in USD

If your reimbursement bank account is in USD, the first step is connecting the bank account to Expensify.
The individual who plans on sending reimbursements internationally should head to **Settings > Account > Payments > Add Verified Bank Account**. From there, you will provide company details, input personal information, and upload a copy of your ID.

Once the USD bank account is verified (or if you already had a USD business bank account connected), click the support icon in your Expensify account to inform your Setup Specialist, Account Manager, or Concierge that you’d like to enable international reimbursements. From there, Expensify will ask you to confirm the currencies of the reimbursement and employee bank accounts.

Our team will assess your account, and if you meet the criteria, international reimbursements will be enabled.

## The reimbursement account is in AUD, CAD, GBP, EUR

To request international reimbursements, contact Expensify Support to make that request.

You can do this by clicking on the support icon and informing your Setup Specialist, Account Manager, or Concierge that you’d like to set up global reimbursements on your account.
From there, Expensify will ask you to confirm both the currencies of the reimbursement and employee bank accounts.

Our team will assess your account, and if you meet the criteria, international reimbursements will be enabled.

# How to verify the bank account for sending international payments

Once international payments are enabled on your Expensify account, the next step is verifying the bank account to send the reimbursements.

## The reimbursement account is in USD

First, confirm the workspace settings are set up correctly by doing the following:
1. Head to **Settings > Workspaces > Group > _[Workspace Name]_ > Reports** and check that the workspace currency is USD
2. Under **Settings > Workspaces > Group > _[Workspace Name]_ > Reimbursements**, set the reimbursement method to direct
3. Under **Settings > Workspaces > Group > _[Workspace Name]_ > Reimbursements**, set the USD bank account to the default account

Once that’s all set, head to **Settings > Account > Payments**, and click **Enable Global Reimbursement** on the bank account (this button may not show for up to 60 minutes after the Expensify team confirms international reimbursements are available on your account).

From there, you’ll fill out a form via DocuSign. Once the form is complete, it is automatically sent to our Compliance Team for review. Our Support Team will contact you with more details if additional information is required.

## The reimbursement account is in AUD, CAD, GBP, EUR

First, confirm the workspace currency corresponds with the currency of the reimbursement bank account. You can do this under **Settings > Workspaces > Group > _[Workspace Name]_ > Reports**. It should be AUD, CAD, GBP, or EUR.

Next, add the bank account to Expensify:
1. Head to **Settings > Workspaces > Group > _[Workspace Name]_ > Reimbursements** and set the reimbursement method to direct (this button may not show for up to 60 minutes after the Expensify team confirms international reimbursements are available on your account)
2. Click **Add Business Bank Account**
3. If the incorrect country shows as the default, click **Switch Country** to select the correct country
4. Enter the bank account details
5. Click **Save & Continue**

From there, you’ll fill out a form via DocuSign. Once the form is complete, it is automatically sent to our Compliance Team for review. Our Support Team will contact you with more details if additional information is required.

# How to start reimbursing internationally

After the bank account is verified for international payments, set the correct bank account as the reimbursement account.

You can do this under **Settings > Workspaces > Group > _[Workspace Name]_ > Reimbursements** by selecting the reimbursement account as the default account.

Finally, have your employees add their deposit-only bank accounts. They can do this by logging into their Expensify accounts, heading to **Settings > Account > Payments**, and clicking **Add Deposit-Only Bank Account**.

# Deep Dive

## Documents requested

Our Compliance Team may ask for additional information depending on who initiates the verification or what information you provide on the DocuSign form.

Examples of additional requested information:
- The reimburser’s proof of address and ID
- Company directors’ proofs of address and IDs
- An authorization letter
- An independently certified documentation such as shareholder agreement from a lawyer, notary, or public accountant if an individual owns more than 25% of the company

{% include faq-begin.md %}

## How many people can send reimbursements internationally?

Once your company is authorized to send global payments, the individual who verified the bank account can share it with additional admins on the workspace. That way, multiple workspace members can send international reimbursements.

## How long does it take to verify an account for international payments?

It varies! The verification process can take a few business days to several weeks. It depends on whether or not the information in the DocuSign form is correct if our Compliance Team requires any additional information, and how responsive the employee verifying the company’s details is to our requests.

## If I already have a USD bank account connected to Expensify, do I need to go through the verification process again to enable international payments?

If you’ve already connected a US business bank account, you can request to enable global reimbursements by contacting Expensify Support immediately. However, additional steps are required to verify the bank account for international payments.

## My employee says they don’t have the option to add their non-USD bank account as a deposit account – what should they do?

Have the employee double-check that their default workspace is set as the workspace that's connected to the bank you're using to send international payments.

An employee can confirm their default workspace is under **Settings > Workspaces > Group**. The default workspace has a green checkmark next to it. They can change their default workspace by clicking **Default Workspace** on the correct workspace.

## Who is the “Authorized User” on the International Reimbursement DocuSign form?

This is the person who will process international reimbursements. The authorized user should be the same person who manages the bank account connection in Expensify.

## Who should I enter as the “User” on the International Reimbursement form?

You can leave this form section blank since the “User” is Expensify.

{% include faq-end.md %}
2 changes: 1 addition & 1 deletion ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.4.62.4</string>
<string>1.4.62.6</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
2 changes: 1 addition & 1 deletion ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.4.62.4</string>
<string>1.4.62.6</string>
</dict>
</plist>
2 changes: 1 addition & 1 deletion ios/NotificationServiceExtension/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<key>CFBundleShortVersionString</key>
<string>1.4.62</string>
<key>CFBundleVersion</key>
<string>1.4.62.4</string>
<string>1.4.62.6</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
Expand Down
8 changes: 4 additions & 4 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1945,7 +1945,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- RNScreens (3.29.0):
- RNScreens (3.30.1):
- glog
- hermes-engine
- RCT-Folly (= 2022.05.16.00)
Expand All @@ -1963,9 +1963,9 @@ PODS:
- React-utils
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- RNScreens/common (= 3.29.0)
- RNScreens/common (= 3.30.1)
- Yoga
- RNScreens/common (3.29.0):
- RNScreens/common (3.30.1):
- glog
- hermes-engine
- RCT-Folly (= 2022.05.16.00)
Expand Down Expand Up @@ -2571,7 +2571,7 @@ SPEC CHECKSUMS:
RNPermissions: 8990fc2c10da3640938e6db1647cb6416095b729
RNReactNativeHapticFeedback: 616c35bdec7d20d4c524a7949ca9829c09e35f37
RNReanimated: 605409e0d0ced6f2e194ae585fedc2f8a1935bf2
RNScreens: f7b8bb892b4957f6f91e5dfd9a191e7f13ce8baa
RNScreens: 65a936f4e227b91e4a8e2a7d4c4607355bfefda0
RNShare: 2a4cdfc0626ad56b0ef583d424f2038f772afe58
RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852
RNSVG: db32cfcad0a221fd175e0882eff7bcba7690380a
Expand Down
11 changes: 6 additions & 5 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
"version": "1.4.62-4",
"version": "1.4.62-6",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
Expand Down Expand Up @@ -165,7 +165,7 @@
"react-native-release-profiler": "^0.1.6",
"react-native-render-html": "6.3.1",
"react-native-safe-area-context": "4.8.2",
"react-native-screens": "3.29.0",
"react-native-screens": "3.30.1",
"react-native-share": "^10.0.2",
"react-native-sound": "^0.11.2",
"react-native-svg": "14.1.0",
Expand Down
49 changes: 0 additions & 49 deletions patches/react-native-screens+3.29.0+001+initial.patch

This file was deleted.

Loading

0 comments on commit 02f784c

Please sign in to comment.