Are you receiving SNAP/EBT benefits? The Expensify.org/SNAP-VAX campaign is live and accepting new members. Learn more about receiving $50 for submitting a SNAP receipt and $50 for getting your COVID-19 vaccine here and join today!

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

Sheena Trepanier
Sheena Trepanier Expensify Success Coach - Admin Posts: 1,346 Expensify Team
edited November 8 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 this sample spreadsheet as a CSV template.

  • At a minimum, you must have a column for Card Number, Posted Amount, Posted Date, Merchant and Posted Currency details. All 5 attributes are required; optional mapping includes category and tag.
  • Card Number: Each card in the Card Number column needs to have 16 digits, and you can mask up to 12 characters (e.g. 543212XXXXXX12334).
  • 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: ($10) will import as negative $10.
  • 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).
  • Posted Date: The Posted Date column (and any other Date column in your spreadsheet) must use YYYY-MM-DD format.
  • 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.

When the feed is ready, you'll see it extract details after clicking "Assign Cards":

And you'll then see the cards show in the dropdown:

6) Assign the company card transactions to a cardholder’s email. 

The final step of importing the company card expenses is to assign a company card to a cardholder’s email address in Expensify.

  • Find the CSV layout in the Company Card drop-down list.
  • Click the 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.

7) The CSV uploaded card transactions will now show in each cardholder account after updating.

Once the card is assigned to a cardholder, the transactions will immediately import into the cardholder's Expenses page.

NOTE: Sometimes you will need to update the cards yourself to import these. You can do this by choosing "Update all cards" or for an individual card choose "Update" from the "Actions" menu.

The employee will be to add receipt images, apply needed coding, and report them for review/approval.  

This means you are done for now!

8) Uploading expenses for cardholders in subsequent months

Before you upload additional card transactions for existing cardholders, navigate to Settings > Domains > [Domain Name] > Company Cards and click [Update all cards]. Then, use the Reconciliation Dashboard to make sure there's no overlap between existing card transactions and the new card transactions. Unless your upload spreadsheet includes an "external id" column we will import duplicates, so you will want to delete the duplicates from your spreadsheet before upload. Once you confirm the date range, follow these steps:

  • Each time you upload additional card transactions, be sure to follow step 1 and 2 from this post.
  • Then, head to Settings > Domains > [Domain Name] > Company Cards.
  • Click the Manage Spreadsheets button.
  • Choose the same Layout that you created originally, which will show up in your Saved Company Card Layouts drop down list.
  • After uploading your new CSV file, click "Update Cards" and then use the Reconciliation Dashboard to see the new transactions.

This means you DO NOT need to create a new upload layout for subsequent CSV uploads.

Related Articles
Tagged: