Skip to content

Commit

Permalink
Merge branch 'main' into issues/30123
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/CONST.ts
  • Loading branch information
pac-guerreiro committed May 24, 2024
2 parents 49e9755 + 8375abe commit ae0ce2d
Show file tree
Hide file tree
Showing 85 changed files with 972 additions and 421 deletions.
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 1001047404
versionName "1.4.74-4"
versionCode 1001047500
versionName "1.4.75-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
9 changes: 5 additions & 4 deletions contributingGuides/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,18 +95,19 @@ Additionally, if you want to discuss an idea with the open source community with

#### Propose a solution for the job
4. You can propose solutions on any issue at any time, but if you propose solutions to jobs before the `Help Wanted` label is applied, you do so at your own risk. Proposals will not be reviewed until the label is added and there is always a chance that we might not add the label or hire an external contributor for the job.
5. After you reproduce the issue, complete the [proposal template here](./PROPOSAL_TEMPLATE.md) and post it as a comment in the corresponding GitHub issue (linked in the Upwork job).
5. Contributors should **not** submit proposals on issues when they have assigned issues or PRs that are awaiting an action from them. If so, they will be in violation of Rule #1 (Get Shit Done) in our [Code of Conduct](https://github.com/Expensify/App/blob/main/CODE_OF_CONDUCT.md) and will receive a warning. Multiple warnings can lead to removal from the program.
6. After you reproduce the issue, complete the [proposal template here](./PROPOSAL_TEMPLATE.md) and post it as a comment in the corresponding GitHub issue (linked in the Upwork job).
- Note: Before submitting a proposal on an issue, be sure to read any other existing proposals. ALL NEW PROPOSALS MUST BE DIFFERENT FROM EXISTING PROPOSALS. The *difference* should be important, meaningful or considerable.
6. Refrain from leaving additional comments until someone from the Contributor-Plus team and / or someone from Expensify provides feedback on your proposal (do not create a pull request yet).
7. Refrain from leaving additional comments until someone from the Contributor-Plus team and / or someone from Expensify provides feedback on your proposal (do not create a pull request yet).
- Do not leave more than one proposal.
- Do not make extensive changes to your current proposal until after it has been reviewed.
- If you want to make an entirely new proposal or update an existing proposal, please go back and edit your original proposal, then post a new comment to the issue in this format to alert everyone that it has been updated:
```
## Proposal
[Updated](link to proposal)
```
7. If your proposal is accepted by the Expensify engineer assigned to the issue, Expensify will hire you on Upwork and assign the GitHub issue to you.
8. Once hired, post a comment in the Github issue stating when you expect to have your PR ready for review.
8. If your proposal is accepted by the Expensify engineer assigned to the issue, Expensify will hire you on Upwork and assign the GitHub issue to you.
9. Once hired, post a comment in the Github issue stating when you expect to have your PR ready for review.
#### Begin coding your solution in a pull request
9. When you are ready to start, fork the repository and create a new branch.
Expand Down
49 changes: 0 additions & 49 deletions docs/articles/expensify-classic/expenses/Referral-Program.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Change Expensify Card limit
description: Increase or decrease the limit for an Expensify Card or for a group
---
<div id="expensify-classic" markdown="1">

You can set Expensify Card limits for each group in your organization, or you can set the limit per card.

# Set a limit per card

1. Hover over Settings, then click **Domains**.
2. Click the name of the domain.
3. Next to the card, click **Edit Limit**.
4. Ensure the Custom Smart Limit toggle is enabled to be able to set a specific card limit. Otherwise, the card limit will be determined by the limit set for the group that the employee is in.
5. In the Limit Amount field, enter the desired limit. If set to $0, the card will be disabled for use until the limit is increased.
6. Click **Save**.

# Set a limit per group

1. Hover over Settings, then click **Domains**.
2. Click the name of the domain.
3. Click the **Groups** tab on the left.
4. Click the Expensify Card Smart Limit field for the card and enter the desired limit.

</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: Deactivate or cancel an Expensify Card
description: Close an Expensify Card
---
<div id="expensify-classic" markdown="1">

A cardholder or a Domain Admin can cancel an Expensify Card. You may want to cancel a card:
- To cancel an old Expensify Card after upgrading to the new Expensify Visa® Commercial Card
- After a fraudulent or suspicious charge
- After an employee leaves the company

# Domain Admins

To cancel an employee's Expensify Card as a Domain Admin,

1. Hover over Settings, then click **Domains**.
2. Click the name of the domain.
3. Next to the card, click **Terminate**.

# Cardholders

To cancel an Expensify Card assigned to you,

1. Hover over Settings, then click **Account**.
2. Click the **Credit Card Import** tab.
3. Click **Cancel** next to the card.

</div>
102 changes: 102 additions & 0 deletions docs/articles/new-expensify/connections/Set-up-Xero-connection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: Set up Xero connection
description: Integrate Xero with Expensify
---
<div id="new-expensify" markdown="1">

{% include info.html %}
To use the Xero connection, you must have a Xero account and an Expensify Collect plan.
{% include end-info.html %}

To set up your Xero connection, complete the 4 steps below.

# Step 1: Connect Expensify to Xero

<ol type="a">
<li>Click your profile image or icon in the bottom left menu.</li>
<li>Scroll down and click <b>Workspaces</b> in the left menu.</li>
<li>Select the workspace you want to connect to Xero.</li>
<li>Click <b>More features</b> in the left menu.</li>
<li>Scroll down to the Integrate section and enable the Accounting toggle.</li>
<li>Click <b>Accounting</b> in the left menu.</li>
<li>Click <b>Set up</b> to the right of Xero.</li>
<li>Enter your Xero login details to import your settings from Xero to Expensify.</li>
</ol>

# Step 2: Configure import settings

The following steps help you determine how data will be imported from Xero to Expensify.

<ol type="a">
<li>Under the Accounting settings for your workspace, click <b>Import</b> under the Xero connection.</li>
<li>Select an option for each of the following settings to determine what information will be imported from Xero into Expensify:</li>
<ul>
<li><b>Xero organization</b>: Select which Xero organization your Expensify workspace is connected to. Each organization can only be connected to one workspace at a time.</li>
<li><b>Chart of Accounts</b>: Your Xero chart of accounts and any accounts marked as “Show In Expense Claims” will be automatically imported into Expensify as Categories. This cannot be amended.</li>
<li><b>Tracking Categories</b>: Choose whether to import your Xero categories for cost centers and regions as tags in Expensify.</li>
<li><b>Re-bill Customers</b>: When enabled, Xero customer contacts are imported into Expensify as tags for expense tracking. After exporting to Xero, tagged billable expenses can be included on a sales invoice to your customer.</li>
<li><b>Taxes</b>: Choose whether to import tax rates and tax defaults from Xero.</li>
</ul>
</ol>

# Step 3: Configure export settings
The following steps help you determine how data will be exported from Expensify to Xero.

<ol type="a">
<li>Under the Accounting settings for your workspace, click <b>Export</b> under the Xero connection.</li>
<li>Review each of the following export settings:</li>
<ul>
<li><b>Preferred Exporter</b>: Choose whether to assign a Workspace Admin as the Preferred Exporter. Once selected, the Preferred Exporter automatically receives reports for export in their account to help automate the exporting process.</li>
</ul>
</ol>
{% include info.html %}
- Other Workspace Admins will still be able to export to Xero.
- If you set different export accounts for individual company cards under your domain settings, then your Preferred Exporter must be a Domain Admin.
{% include end-info.html %}

<ol type="a">
<ul>
<li><b>Export Out-of-Pocket Expenses as</b>: All out-of-pocket expenses will be exported as purchase bills. This cannot be amended.</li>
<li><b>Purchase Bill Date</b>: Choose whether to use the date of last expense, export date, or submitted date.</li>
<li><b>Export invoices as</b>: All invoices exported to Xero will be as a sales invoice. This cannot be amended.</li>
<li><b>Export company card expenses as</b>: All company card expenses export to Xero as bank transactions. This cannot be amended.</li>
<li><b>Xero Bank Account</b>: Select which bank account will be used to post bank transactions when non-reimbursable expenses are exported.</li>
</ul>
</ol>

# Step 4: Configure advanced settings

The following steps help you determine the advanced settings for your connection, like auto-sync.

<ol type="a">
<li>Under the Accounting settings for your workspace, click <b>Advanced</b> under the Xero connection.</li>
<li>Select an option for each of the following settings:</li>
<ul>
<li><b>Auto-sync</b>: Choose whether to enable Xero to automatically communicate changes with Expensify to ensure that the data shared between the two systems is up-to-date. New report approvals/reimbursements will be synced during the next auto-sync period. Once you’ve added a business bank account for ACH reimbursement, any reimbursable expenses will be sent to Xero automatically when the report is reimbursed. For non-reimbursable reports, Expensify automatically queues the report to export to Xero after it has completed the approval workflow in Expensify.</li>
<li><b>Set Purchase Bill Status</b>: Choose the status of your purchase bills:</li>
<ul>
<li>Draft</li>
<li>Awaiting Approval</li>
<li>Awaiting Payment</li>
</ul>
<li><b>Sync Reimbursed Reports</b>: Choose whether to enable report syncing for reimbursed expenses. If enabled, all reports that are marked as Paid in Xero will also show in Expensify as Paid. If enabled, you must also select the Xero account that reimbursements are coming out of, and Expensify will automatically create the payment in Xero.</li>
<li><b>Xero Bill Payment Account</b>: If you enable Sync Reimbursed Reports, you must select the Xero Bill Payment account your reimbursements will come from.</li>
<li><b>Xero Invoice Collections Account</b>: If you are exporting invoices from Expensify, select the invoice collection account that you want invoices to appear under once they are marked as paid.</li>
</ul>
</ol>

{% include faq-begin.md %}

**How do I disconnect Xero from Expensify?**

1. Click your profile image or icon in the bottom left menu.
2. Scroll down and click **Workspaces** in the left menu.
3. Select the workspace you want to disconnect from Xero.
4. Click **Accounting** in the left menu.
5. Click the three dot menu icon to the right of Xero and select **Disconnect**.
6. Click **Disconnect** to confirm.

You will no longer see the imported options from Xero.
{% include faq-end.md %}

</div>
72 changes: 72 additions & 0 deletions docs/articles/new-expensify/expenses/Approve-and-pay-expenses.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: Approve and Pay Expenses
description: Approve, hold, or pay expenses submitted to you
---
<div id="new-expensify" markdown="1">

When expenses are sent to you for approval, you have the option to:
- Approve and pay the expenses.
- Hold the expenses if payment needs to be delayed or if the expenses require additional information before they can be approved.

{% include info.html %}
If your workspace does not require expense approvals, or if the expense is sent to you by a friend, you will not need to approve the expense and instead can immediately pay the expense when you are ready.
{% include end-info.html %}

# Approve expenses

When someone sends an expense or a group of expenses to you for approval, you’ll receive the expense in Expensify Chat for the related workspace. Chats with new updates appear with a green dot to the right of the chat message. Concierge also sends you an email notification for the new expense.

To approve an expense,

1. Open the Expensify Chat thread for the expense.
2. Click the expense or group of expenses.
3. Review the expense details to ensure they are correct. Look at each receipt, the amount, the description, and any additional details.
4. Determine the next steps.
- **Approve**: When you’re satisfied with the expense, click **Approve**.
- **Handle holds**: If any of the expenses are on hold, you can choose to either approve only the expenses that are not on hold or approve the full amount, including any held expenses.
- **Request changes**: You can add a comment to the expense’s chat thread in your Expensify Chat inbox to request changes to the expense details.

{% include info.html %}
Admins can modify an expense, if needed.
{% include end-info.html %}

You’re now ready to pay the expense.

# Hold an expense

If you need to delay a payment or if you need more information on the expense before it can be approved, you can hold the expense.

To hold an expense,

1. Open the Expensify Chat thread for the expense.
2. Click the expense or group of expenses.
3. Click the three dot menu at the top right of the expense and select **Hold**.
4. Enter a reason for the delay.
5. Review the Hold Overview page and click **Got It**.

When you’re ready, you can choose to:
- **Remove the hold**: Complete the steps above and select **Unhold**.
- **Approve the expense**: Complete the steps above for “Approve expenses.”
Once the expense has been approved, you can now pay the expense.

{% include info.html %}
Held expenses will not be available for payment until they have been approved.
{% include end-info.html %}

# Pay expenses

Once you’ve approved an expense&mdash;or if the expense does not require approval&mdash;you’ll be able to pay it.

{% include info.html %}
To pay expenses within Expensify, you’ll need to set up your Expensify Wallet.
{% include end-info.html %}

To pay an expense,

1. Open the Expensify Chat thread for the expense.
2. Click the expense or group of expenses.
3. Select a payment option.
- Click **Pay** to pay the full expense within Expensify. If the expenses contain one that has been held, the pay amount will only include the expenses that have not been held. Then you’ll select your payment method.
- Click **Pay Elsewhere** to indicate that a payment has been sent using a method outside of Expensify, such as cash or a check. This will label the expense as Paid.

</div>
4 changes: 2 additions & 2 deletions ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.4.74</string>
<string>1.4.75</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -40,7 +40,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.4.74.4</string>
<string>1.4.75.0</string>
<key>FullStory</key>
<dict>
<key>OrgId</key>
Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.4.74</string>
<string>1.4.75</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.4.74.4</string>
<string>1.4.75.0</string>
</dict>
</plist>
4 changes: 2 additions & 2 deletions ios/NotificationServiceExtension/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleShortVersionString</key>
<string>1.4.74</string>
<string>1.4.75</string>
<key>CFBundleVersion</key>
<string>1.4.74.4</string>
<string>1.4.75.0</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
Expand Down
Loading

0 comments on commit ae0ce2d

Please sign in to comment.