How-to: Import and assign company cards from CSV file

Sheena Trepanier
Sheena Trepanier Expensify Team, Approved! Accountant, Expensify Student Ambassador Posts: 1,362 Expensify Team
edited October 2023 in How-to Docs

If aren't able to import your company cards via direct connection or corporate card feed, you can upload company card expenses as a CSV and assign them to cardholders in your Expensify Domain.

Note: This feature is only available to Group policies, and you must be a Domain Admin to assign expenses.

Steps to upload a spreadsheet of company card expenses:

1) Download a CSV of the company card transactions from your bank.

Most banks allow you to download a CSV of your card transactions directly. If you have issues with this, please reach out to your respective bank for assistance.

2) Format the CSV like so:

We recommend checking the below sample spreadsheet as a CSV template:

Required information on the spreadsheet

At a minimum, you must have a column for Card Number, Posted Amount, Posted Date, Merchant and Posted Currency details.

  1. Card Number: Each card in the Card Number column needs to have at least the last 4 digits, and you can mask up to 12 characters (e.g. 543212XXXXXX12334).
  2. Posted Amount: The Posted Amount column (and any other Amount column in your spreadsheet) needs to be in a number format (not currency format and no currency symbols). The number formatting is especially important when importing a negative amount. To import a negative amount it has to be listed in parentheses instead of with a minus sign! like so: (335.98) will import as negative ($335.98).
  3. Posted Currency: The Posted Currency column (and any other Currency column in your spreadsheet) needs to have a currency code (e.g. USD, GBP, EUR).
  4. Posted Date: The Posted Date column (and any other Date column in your spreadsheet) must use YYYY-MM-DD format.

Optional information (Advanced Fields):

  • Original Amount
  • Original Currency
  • Category
  • Tag
  • Unique ID
  • Comment


If you'd like to include additional information in the CSV, you'll want to toggle on Use Advanced Fields.


Advanced fields settings will allow you to include:

  • The Unique ID is a unique number for each transaction. This ensure that if you are uploading an expense with the same merchant name, date, and amount, it will not get filtered out as a duplicate.

3) Once you’ve formatted the spreadsheet, upload the spreadsheet into the domain. 

  • Log into Expensify using your preferred web browser (the upload option is not available on the mobile app).
  • Head to Settings > Domains > [Domain Name] > Company Cards.
  • Click the Manage/Import CSV button.
  • Create a Layout Name for your spreadsheet.
  • Click Upload CSV.

Pro tip: Be sure to re-use the layout again for your future CSV uploads. The Layout Name will be saved under the Saved Layouts dropdown list.

4) Review the mapping of your spreadsheet.

  • Review the configured mapping to make sure Card NumberDateMerchantAmount, and Currency match your spreadsheet.
  • Double-check the Output Preview for any errors. If you encounter errors, please refer to the common errors here.
  • Once the mapping is correct, click Submit Spreadsheet to finish the import.


5) Click "I'll wait a minute", then wait 1 minute for the import to load the transactions

  • You will receive a confirmation pop-up after you’ve submitted the spreadsheet.
  • The import takes about one-two minutes to load depending on the volume of cards and transactions. Once the upload is complete the domain page will refresh (however making those card uploads available may still take a few minutes)

It's very important to wait a few minutes for the transactions to upload, as this is not an instantaneous process.


Assign New Cards for the first time

  • Find your new CSV feed in the Imported Cards drop-down list.
  • Click Assign New Cards button. If you’re assigning a card for the first time, you’ll notice the page will take a moment to pull in the new data so you can assign a cardholder to the imported data.
  • Enter the cardholder email address to the Employee Email field.
  • Assign the last 4 digits of a card to this cardholder in the Last 4 digits of card field.
  • The Transaction start date field isn’t super important with a CSV upload because the spreadsheet will already have a specific date range - feel free to keep this blank.
  • Click the Assign button

Once the card is assigned to a cardholder, the transactions will immediately import into the cardholder's Expenses page. The employee will be to add receipt images, apply needed coding, and report them for review/approval.  

Upload new expenses to an already assigned card

You DO NOT need to create a new upload layout for subsequent CSV uploads. Instead, you'll want to add new expenses to the CSV that you've used in the past

  1. Remove any expenses from the CSV that have already been uploaded. If you don't do this, you might see duplicates. You can use the Reconciliation Dashboard to make sure none of these new expenses are already uploaded.
  2. Head to Settings > Domains > [Domain Name] > Company Cards.
  3. Click the Manage/Import CSV button.
  4. Find the Saved Layout in the drop down list.
  5. Click Upload CSV.
  6. After uploading completes, click the Update All Cards button to pull in those new expenses to the assigned cards

Related Articles

Tagged: