Skip to content

Commit

Permalink
merge main
Browse files Browse the repository at this point in the history
  • Loading branch information
truph01 committed Oct 4, 2024
2 parents 484486b + c6c1cf8 commit 793afd8
Show file tree
Hide file tree
Showing 66 changed files with 851 additions and 396 deletions.
6 changes: 0 additions & 6 deletions .github/workflows/buildAndroid.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,9 +178,3 @@ jobs:
with:
name: ${{ inputs.artifact-prefix }}android-artifact-sourcemaps
path: ./android/app/build/generated/sourcemaps/react/productionRelease/index.android.bundle.map

- name: Announce failure in slack
if: failure()
uses: ./.github/actions/composite/announceFailedWorkflowInSlack
with:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
4 changes: 4 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,10 @@ jobs:
id: getAndroidVersion
run: echo "VERSION_CODE=$(grep -o 'versionCode\s\+[0-9]\+' android/app/build.gradle | awk '{ print $2 }')" >> "$GITHUB_OUTPUT"

- name: Decrypt json w/ Google Play credentials
run: gpg --batch --yes --decrypt --passphrase="${{ secrets.LARGE_SECRET_PASSPHRASE }}" --output android-fastlane-json-key.json android-fastlane-json-key.json.gpg
working-directory: android/app

- name: Submit Android build for review
run: bundle exec fastlane android upload_google_play_production
env:
Expand Down
10 changes: 5 additions & 5 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1009004407
versionName "9.0.44-7"
versionCode 1009004502
versionName "9.0.45-2"
// 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 Expand Up @@ -229,11 +229,11 @@ dependencies {
implementation 'com.facebook.fresco:fresco:2.5.0'
implementation 'com.facebook.fresco:animated-gif:2.5.0'

// Android support library
implementation 'com.android.support:support-core-utils:28.0.0'
// AndroidX support library
implementation 'androidx.legacy:legacy-support-core-utils:1.0.0'

// Multi Dex Support: https://developer.android.com/studio/build/multidex#mdex-gradle
implementation 'com.android.support:multidex:1.0.3'
implementation 'androidx.multidex:multidex:2.0.1'

// Plaid SDK
implementation project(':react-native-plaid-link-sdk')
Expand Down
4 changes: 2 additions & 2 deletions android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=512m
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Disabled Jetifier to improve build performance as we're not using libraries that require Jetifier for AndroidX compatibility.
android.enableJetifier=false

# Increase storage capacity (the default is 6 MB)
AsyncStorage_db_size_in_MB=10
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: General Product Troubleshooting
description: How to troubleshoot a website issue
---
<!-- The lines above are required by Jekyll to process the .md file -->

# Issues with a specific feature
If you're having issues with a specific feature, please reffer to the corresponding section of the help docs for detailed explinations of common errors and troubleshooting steps. If you cannot find an answer to your question, please reach out to Concierge via in-product chat or by emailing us at [email protected].

# Troubleshooting local issues
Is your webpage not loading? Try these steps:
- Try clicking [here](https://www.expensify.com/signout.php?clean=true), which will force a clean sign-out from the site, which can be very helpful in removing any stale data that can cause issues.
- Clear cookies & cache on your browser.
- Try using an Incognito or Private browsing window.
- Try on a different browser.

# JavaScript Console
A developer console is a tool that logs information about the backend operations of the sites you visit and the applications you run. This information can help our developers solve any issue that you may experience.

If you've been asked to provide a screenshot of your developer console, scroll down to find the instructions for the browser or application you're using.

## Chrome

- Keyboard shortcut
- Mac: Cmd + Option + J
- Windows: Ctrl + Shift + J
- From the menu: View > Developer > JavaScript Console

## Firefox

- Keyboard shortcut:
- Mac: Cmd + Option + K
- Windows: Ctrl + Shift + J
- From the menu: Menu Bar > More Tools > Web Developer Tools > Console tab

## Safari

Before opening the console you will need to enable it in Safari by clicking the Safari Menu > Settings > Advanced > and selecting the "Show features for web developers" checkbox. Once enabled, you can locate the console in the developer menu or open it using the keyboard shortcut:

- Keyboard shortcut: Cmd + Option + C
- From the menu: Develop Menu > Show JavaScript Console

## Microsoft Edge

- Keyboard shortcut:
- Mac: Cmd + Option + J
- Windows: Ctrl + Shift + J
- From the menu: Right-click a webpage > Inspect > Console
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,30 @@ description: Configure the Import, Export, and Advanced settings for Expensify's
order: 3
---

# Configure Sage Intacct integration

## Step 1: Select entity (multi-entity setups only)
# Step 1: Select entity (multi-entity setups only)
If you have a multi-entity setup in Sage Intacct, you will be able to select in Expensify which Sage Intacct entity to connect each workspace to. Each Expensify workspace can either be connected to a single entity or connected at the Top Level.

To select or change the Sage Intacct entity that your Expensify workspace is connected to, navigate to the Accounting settings for your workspace and click **Entity** under the Sage Intacct connection.

## Step 2: Configure import settings
# Step 2: Configure import settings
The following section will help you determine how data will be imported from Sage Intacct into Expensify. To change your import settings, navigate to the Accounting settings for your workspace, then click **Import** under the Sage Intacct connection.

### Expense Types / Chart of Accounts
## Expense Types / Chart of Accounts
The categories in Expensify depend on how you choose to export out-of-pocket expenses:

- If you choose to export out-of-pocket expenses as Expense Reports, your categories in Expensify will be imported from your Sage Intacct Expense Types
- If you choose to export out-of-pocket expenses as Vendor Bills, your categories will be imported directly from your Chart of Accounts (also known as GL Codes or Account Codes).

You can disable unnecessary categories in Expensify by going to **Settings > Workspaces > [Workspace Name] > Categories**. Note that every expense must be coded with a Category, or it will fail to export.

### Billable Expenses
## Billable Expenses
Enabling billable expenses allows you to map your expense types or accounts to items in Sage Intacct. To do this, you’ll need to enable the correct permissions on your Sage Intacct user or role. This may vary based on the modules you use in Sage Intacct, so you should enable read-only permissions for relevant modules such as Projects, Purchasing, Inventory Control, and Order Entry.

Once permissions are set, you can map categories to specific items, which will then export to Sage Intacct. When an expense is marked as Billable in Expensify, users must select the correct billable Category (Item), or there will be an error during export.


### Standard dimensions: Departments, Classes, and Locations
## Standard dimensions: Departments, Classes, and Locations
The Sage Intacct integration allows you to import standard dimensions into Expensify as tags, report fields, or using the Sage Intacct employee default.

- **Sage Intacct Employee default:** This option is only available when exporting as expense reports. When this option is selected, nothing will be imported into Expensify - instead, the employee default will be applied to each expense upon export.
Expand All @@ -39,7 +38,7 @@ New departments, classes, and locations must be added in Sage Intacct. Once impo

Please note that when importing departments as tags, expense reports may show the tag name as "Tag" instead of "Department."

### Customers and Projects
## Customers and Projects
The Sage Intacct integration allows you to import customers and projects into Expensify as Tags or Report Fields.

- **Tags:** Employees can select the customer or project on each individual expense.
Expand All @@ -48,12 +47,12 @@ The Sage Intacct integration allows you to import customers and projects into Ex
New customers and projects must be added in Sage Intacct. Once imported, you can turn specific tags on or off under **Settings > Workspaces > [Workspace Name] > Tags**. You can turn specific report fields on or off under **Settings > Workspaces > [Workspace Name] > Report Fields**.


### Tax
## Tax
The Sage Intacct integration supports native VAT and GST tax. To enable this feature, go to **Settings > Workspaces > [Workspace Name] > Accounting**, click **Import** under Sage Intacct, and enable Tax. Enabling this option will import your native tax rates from Sage Intacct into Expensify. From there, you can select default rates for each category under **Settings > Workspaces > [Workspace Name] > Categories**.

For older Sage Intacct connections that don't show the Tax option, simply resync the connection by going to **Settings > Workspaces > [Workspace Name] > Accounting** and clicking the three dots next to Sage Intacct, and the tax toggle will appear.

### User-Defined Dimensions
## User-Defined Dimensions
You can add User-Defined Dimensions (UDDs) to your workspace by locating the “Integration Name” in Sage Intacct. Please note that you must be logged in as an administrator in Sage Intacct to find the required fields.

To find the Integration Name in Sage Intacct:
Expand All @@ -68,23 +67,23 @@ To find the Integration Name in Sage Intacct:
Once imported, you can turn specific tags on or off under **Settings > Workspaces > [Workspace Name] > Tags**. You can turn specific report fields on or off under **Settings > Workspaces > [Workspace Name] > Report Fields**.


## Step 5: Configure export settings
# Step 3: Configure export settings
To access export settings, head to **Settings > Workspaces > [Workspace name] > Accounting** and click **Export** under Sage Intacct.

### Preferred exporter
## Preferred exporter
Any workspace admin can export reports to Sage Intacct. For auto-export, Concierge will export on behalf of the preferred exporter. The preferred exporter will also be notified of any expense reports that fail to export to Sage Intacct due to an error.

### Export date
## Export date
You can choose which date to use for the records created in Sage Intacct. There are three date options:

1. **Date of last expense:** This will use the date of the previous expense on the report
1. **Export date:** The date you export the report to Sage Intacct
1. **Submitted date:** The date the employee submitted the report

### Export out-of-pocket expenses as
## Export out-of-pocket expenses as
Out-of-pocket expenses can be exported to Sage Intacct as **expense reports** or as **vendor bills**. If you choose to export as expense reports, you can optionally select a **default vendor**, which will apply to reimbursable expenses that don't have a matching vendor in Sage Intacct.

### Export company card expenses as
## Export company card expenses as
Company Card expenses are exported separately from out-of-pocket expenses, and can be exported to Sage Intacct as credit card charges** or as **vendor bills**.

- **Credit card charges:** When exporting as credit card charges, you must select a credit card account. You can optionally select a default vendor, which will apply to company card expenses that don't have a matching vendor in Sage Intacct.
Expand All @@ -93,13 +92,13 @@ Company Card expenses are exported separately from out-of-pocket expenses, and c

If you centrally manage your company cards through Domains in Expensify Classic, you can export expenses from each individual card to a specific account in Sage Intacct in the Expensify Company Card settings.

### 6. Configure advanced settings
# Step 4: Configure advanced settings
To access the advanced settings of the Sage Intacct integration, head to **Settings > Workspaces > [Workspace name] > Accounting** and click **Advanced** under Sage Intacct.


Let’s review the different advanced settings and how they interact with the integration.

### Auto-sync
## Auto-sync
We strongly recommend enabling auto-sync to ensure that the information in Sage Intacct and Expensify is always in sync. The following will occur when auto-sync is enabled:

**Daily sync from Sage Intacct to Expensify:** Once a day, Expensify will sync any changes from Sage Intacct into Expensify. This includes any changes or additions to your Sage Intacct dimensions.
Expand All @@ -108,7 +107,7 @@ We strongly recommend enabling auto-sync to ensure that the information in Sage

**Reimbursement-sync:** If Sync Reimbursed Reports (more details below) is enabled, then we will sync the reimbursement status of reports between Expensify and Sage Intacct.

### Invite employees
## Invite employees
Enabling this feature will invite all employees from the connected Sage Intacct entity to your Expensify workspace. Once imported, each employee who has not already been invited to that Expensify workspace will receive an email letting them know they’ve been added to the workspace.

In addition to inviting employees, this feature enables a custom set of approval workflow options, which you can manage in Expensify Classic:
Expand All @@ -118,7 +117,7 @@ In addition to inviting employees, this feature enables a custom set of approval
- **Configure Manually:** Employees will be imported, but all levels of approval must be manually configured in Expensify. If you enable this setting, you can configure approvals by going to **Settings > Workspaces > [Workspace Name] > People**.


### Sync reimbursed reports
## Sync reimbursed reports
When Sync reimbursed reports is enabled, the reimbursement status will be synced between Expensify and Sage Intacct.

**If you reimburse employees through Expensify:** Reimbursing an expense report will trigger auto-export to Sage Intacct. When the expense report is exported to Sage Intacct, a corresponding bill payment will also be created in Sage Intacct in the selected Cash and Cash Equivalents account. If you don't see the account you'd like to select in the dropdown list, please confirm that the account type is Cash and Cash Equivalents.
Expand All @@ -127,7 +126,7 @@ When Sync reimbursed reports is enabled, the reimbursement status will be synced

To ensure this feature works properly for expense reports, make sure that the account you choose within the settings matches the default account for Bill Payments in NetSuite. When exporting invoices, once marked as Paid, the payment is marked against the account selected after enabling the Collection Account setting.

## FAQ
# FAQ

### Will enabling auto-sync affect existing approved and reimbursed reports?
## Will enabling auto-sync affect existing approved and reimbursed reports?
Auto-sync will only export newly approved reports to Sage Intacct. Any reports that were approved or reimbursed before enabling auto-sync will need to be manually exported in order to sync them to Sage Intacct.
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: General Product Troubleshooting
description: How to troubleshoot a website issue
---
<!-- The lines above are required by Jekyll to process the .md file -->

# Issues with a specific feature
If you're having issues with a specific feature, please reffer to the corresponding section of the help docs for detailed explinations of common errors and troubleshooting steps. If you cannot find an answer to your question, please reach out to Concierge via in-product chat or by emailing us at [email protected].

# Troubleshooting local issues
Is your webpage not loading? Try these steps:
- Try clicking [here](https://www.expensify.com/signout.php?clean=true), which will force a clean sign-out from the site, which can be very helpful in removing any stale data that can cause issues.
- Clear cookies & cache on your browser.
- Try using an Incognito or Private browsing window.
- Try on a different browser.

# JavaScript Console
A developer console is a tool that logs information about the backend operations of the sites you visit and the applications you run. This information can help our developers solve any issue that you may experience.

If you've been asked to provide a screenshot of your developer console, scroll down to find the instructions for the browser or application you're using.

## Chrome

- Keyboard shortcut
- Mac: Cmd + Option + J
- Windows: Ctrl + Shift + J
- From the menu: View > Developer > JavaScript Console

## Firefox

- Keyboard shortcut:
- Mac: Cmd + Option + K
- Windows: Ctrl + Shift + J
- From the menu: Menu Bar > More Tools > Web Developer Tools > Console tab

## Safari

Before opening the console you will need to enable it in Safari by clicking the Safari Menu > Settings > Advanced > and selecting the "Show features for web developers" checkbox. Once enabled, you can locate the console in the developer menu or open it using the keyboard shortcut:

- Keyboard shortcut: Cmd + Option + C
- From the menu: Develop Menu > Show JavaScript Console

## Microsoft Edge

- Keyboard shortcut:
- Mac: Cmd + Option + J
- Windows: Ctrl + Shift + J
- From the menu: Right-click a webpage > Inspect > Console
51 changes: 51 additions & 0 deletions docs/articles/new-expensify/workspaces/Enable-Report-Fields.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: Enable-Report-Fields.md
description: Enable and create Report Fields for your Workspaces
---

{% include info.html %}
Report fields are only available on the Control plan. You cannot create these report fields directly in Expensify if you are connected to an accounting integration (QuickBooks Online, QuickBooks Desktop, Intacct, Xero, or NetSuite). Please refer to the relevant article for instructions on creating fields within that system.
{% include end-info.html %}

If you are not connected to an accounting integration, workspace Admins can add additional required report fields that allow you to specify header-level details like specific project names, business trip information, locations, and more.

## Enable Report Fields
To enable report fields on a Workspace:

1. Click Settings in the bottom left menu
2. Click Workspaces from the left-hand menu
3. Select the Workspace you want to enable Report Fields for
4. Go to More Features and toggle on Report Fields

{% include info.html %}
If you are not already on a Control plan, you will be prompted to upgrade
{% include end-info.html %}

## Create New Report Fields
To create new Report Fields:

1. Click Settings in the bottom left menu
2. Click Workspaces from the left-hand menu
3. Select the Workspace you want to create Report Fields on
4. Click Report Fields on the lefthand menu (if you do not see this option, enable Report Fields by following the Enable Report Fields process above this)
5. Click “Add Field” in the top right corner
6. Click “Name” and add a name your your Report Field
7. Click “Type” to select the Report Field type; you will have the following options:
- Text - Add a field for free-text input
- Date - Add a calendar for date selection
- List - Add a list of options to choose from
- To create values for your list, click List Vales > Add Values
8. Once you have added a Name and the Type, click Save at the bottom of the page

## Edit or Delete Existing Report Fields
To edit or delete existing report fields Report Fields:

1. Click Settings in the bottom left menu
2. Click Workspaces from the left-hand menu
3. Select the Workspace you want to edit Report Fields on
4. Click Report Fields on the lefthand menu
5. Click the Report Field you wish to edit or delete
6. Make the required edits in the right-hand panel, or select “Delete”



Loading

0 comments on commit 793afd8

Please sign in to comment.