Skip to content

Commit

Permalink
Merge branch 'Expensify:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
OSBotify authored Feb 18, 2025
2 parents 4ad5ffd + 1eb00b0 commit b4ad92b
Show file tree
Hide file tree
Showing 182 changed files with 3,588 additions and 2,675 deletions.
8 changes: 7 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -150,8 +150,14 @@ module.exports = {
{
selector: ['variable', 'property'],
format: ['camelCase', 'UPPER_CASE', 'PascalCase'],
// This filter excludes variables and properties that start with "private_" to make them valid.
//
// Examples:
// - "private_a" → valid
// - "private_test" → valid
// - "private_" → not valid
filter: {
regex: '^private_[a-z][a-zA-Z0-9]+$',
regex: '^private_[a-z][a-zA-Z0-9]*$',
match: false,
},
},
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
key: ${{ runner.os }}-jest

- name: Jest tests
run: NODE_OPTIONS="$NODE_OPTIONS --experimental-vm-modules" npx jest --silent --shard=${{ fromJSON(matrix.chunk) }}/${{ strategy.job-total }} --max-workers ${{ steps.cpu-cores.outputs.count }}
run: NODE_OPTIONS="$NODE_OPTIONS --experimental-vm-modules" npm test -- --silent --shard=${{ fromJSON(matrix.chunk) }}/${{ strategy.job-total }} --max-workers ${{ steps.cpu-cores.outputs.count }}

storybookTests:
if: ${{ github.actor != 'OSBotify' && github.actor != 'imgbot[bot]' || github.event_name == 'workflow_call' }}
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
* [Offline First](contributingGuides/OFFLINE_UX.md)
* [Contributing to Expensify](contributingGuides/CONTRIBUTING.md)
* [Expensify Code of Conduct](CODE_OF_CONDUCT.md)
* [Contributor License Agreement](contributingGuides/CLA.md)
* [Contributor License Agreement](CLA.md)
* [React StrictMode](contributingGuides/STRICT_MODE.md)
* [Left Hand Navigation(LHN)](contributingGuides/LEFT_HAND_NAVIGATION.md)

Expand Down
8 changes: 6 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ def enableProguardInReleaseBuilds = true
def jscFlavor = 'org.webkit:android-jsc:+'

android {
androidResources {
noCompress += ["bundle"]
}

ndkVersion rootProject.ext.ndkVersion

buildToolsVersion rootProject.ext.buildToolsVersion
Expand All @@ -110,8 +114,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1009009800
versionName "9.0.98-0"
versionCode 1009009901
versionName "9.0.99-1"
// 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
12 changes: 12 additions & 0 deletions assets/images/checkbox.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions config/webpack/webpack.common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,12 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment):
// We are importing this worker as a string by using asset/source otherwise it will default to loading via an HTTPS request later.
// This causes issues if we have gone offline before the pdfjs web worker is set up as we won't be able to load it from the server.
{
// eslint-disable-next-line prefer-regex-literals
test: new RegExp('node_modules/pdfjs-dist/build/pdf.worker.min.mjs'),
type: 'asset/source',
},
{
// eslint-disable-next-line prefer-regex-literals
test: new RegExp('node_modules/pdfjs-dist/legacy/build/pdf.worker.min.mjs'),
type: 'asset/source',
},
Expand Down
2 changes: 1 addition & 1 deletion contributingGuides/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ Additionally, if you want to discuss an idea with the open source community with
### Submit your pull request for final review
14. When you are ready to submit your pull request for final review, make sure the following checks pass:
1. CLA - You must sign our [Contributor License Agreement](https://github.com/Expensify/App/blob/main/contributingGuides/CLA.md) by following the CLA bot instructions that will be posted on your PR
1. CLA - You must sign our [Contributor License Agreement](https://github.com/Expensify/App/blob/main/CLA.md) by following the CLA bot instructions that will be posted on your PR
2. Tests - All tests must pass before a merge of a pull request
3. Lint - All code must pass lint checks before a merge of a pull request
15. Please never force push when a PR review has already started (because this messes with the PR review history)
Expand Down
5 changes: 0 additions & 5 deletions docs/_data/_routes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,6 @@ platforms:
icon: /assets/images/hand-card.svg
description: Explore the perks and benefits of the Expensify Card.

- href: travel
title: Travel
icon: /assets/images/plane.svg
description: Manage all your corporate travel needs with Expensify Travel.

- href: copilots-and-delegates
title: Copilots & Delegates
icon: /assets/images/envelope-receipt.svg
Expand Down
83 changes: 0 additions & 83 deletions docs/articles/expensify-classic/connections/ADP.md

This file was deleted.

80 changes: 80 additions & 0 deletions docs/articles/expensify-classic/connections/Connect-to-ADP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: How to Use the ADP Integration
description: Expensify’s ADP integration allows you to pay out expense reports outside of Expensify. It creates a Custom Export Format that can be directly uploaded to ADP.
---

Expensify’s ADP integration enables you to process expense report payouts outside of Expensify. It generates a **Custom Export Format** that can be uploaded to ADP.

- You must be on the **Control Plan** to create a Custom Export Format.
- You can import your ADP employee list into Expensify as a **CSV file** via the **People table**. This helps sync employee expense reports with ADP and is available on all plans.

---

# Setting Up the ADP Integration

## Step 1: Prepare the ADP Import File
Your ADP import file should contain the following **five columns**:

1. **Company Code** - Found in **Edit Company** in ADP.
2. **Batch ID** - Found in **Edit Company** in ADP.
3. **File #** - The employee number in ADP (located under **RUN Powered by ADP > Reports > Tax Reports > Wage > Tax Register**).
4. **Earnings 3 Code** - Found in **Edit Profit Center Group** in ADP.
5. **Earnings 3 Amount** - Found in **Edit Profit Center Group** in ADP.

In **Expensify**:
- The **File #** is entered in **Custom Field 1 or 2** in the **Members table**.
- The **Earnings 3 Code** corresponds to a payroll account tracked in Expensify.
- The **Earnings 3 Amount** is the total expense amount sent to payroll.
- To enter the **Earnings 3 Code**, go to **Settings > Workspaces > [Group Workspace Name] > Categories > [Category Name] > Edit Rules > Add under Payroll Code**.

---

## Step 2: Create Your ADP Export Format
1. Go to **Settings > Workspaces > [Group Workspace Name] > Export Formats**.
2. Add the following column headings and formulas:

| Column Name | Formula |
|------------------------|----------------------------------------|
| Company Code | Hardcoded from Step 1 |
| Batch ID | Hardcoded from Step 1 |
| File # | `{report:submit.from:customfield1}` |
| Earnings 3 Code | `{expense:category:payrollcode}` |
| Earnings 3 Amount | `{expense:amount}` |

The **Company Code** and **Batch ID** should be hardcoded with the values used in ADP.

---

## Step 3: Export Your File
To generate and download the ADP file:

1. Go to the **Reports** page in Expensify.
2. Select the reports you want to export.
3. Click **Export to...** and choose your custom ADP format.
4. The file will download in **CSV or XLS format**.

---

## Step 4: Upload to ADP
Once exported, you can **upload the file directly to ADP** without modifications.

---

# Additional Features

## Bulk Updating Custom Fields and Payroll Codes
You can update **Custom Fields** and **Payroll Codes** in bulk using a CSV upload in Expensify’s settings.

## Customizing Your ADP Export
If you need **additional columns, headings, or datasets**, contact your **Expensify Account Manager** via the Chat option in Expensify for assistance.

---

# FAQ

## Do I need to adjust my ADP employee list before uploading it to Expensify?
Yes. Convert your ADP employee data to match the column headings used in Expensify’s **Members table CSV export**.

## Can I add custom fields to my ADP Payroll Export?
Yes! Your Expensify Account Manager can help customize your ADP Payroll export to fit your needs.

105 changes: 0 additions & 105 deletions docs/articles/expensify-classic/travel/Approve-travel-expenses.md

This file was deleted.

Loading

0 comments on commit b4ad92b

Please sign in to comment.