Back

Importing Expenses

The system lets you add a large number of expenses at once by importing them from an Excel file (XLS or XLSX) or a CSV file, instead of entering each expense manually. This guide explains how to prepare the file, the import steps, the meaning of each column in the file, and how the system handles rows that contain errors.

🛈

Note: the import only creates new expenses; it does not edit existing expenses and does not detect duplicates. If you import the same file twice, every row is recorded twice.

Before You Start

  • You need the “View All Expenses” permission to open the import screen.
  • Download the example file (or click “Download Example” on the import screen) and use it as a template for your file.
  • Any tax, treasury, cost center, or sub-account whose name you write in the file must already be added in the system; the system does not create them during import. (The category alone is created automatically if it doesn’t exist.)
  • Write the dates in the file in the same date format set in your account’s general settings.

Steps to Import Expenses

  1. From the main menu, click “Finance,” then “Expenses.”
  2. Click the “Import” button (the cloud icon) at the top of the list, or open the “Import Expenses” screen directly.
  3. In the “File to Import” field, choose a CSV, XLS, or XLSX file from your device.
  4. If the file is CSV, choose the delimiter used between columns (comma, semicolon, or Tab) from the “Delimiter” list. This list disappears automatically with Excel files.
  5. Enable the “Import the first row of the file” option only if the first row in your file is expense data rather than column headers; leave it disabled if the first row is headers, as in the example file.
  6. If the mileage feature is enabled in your account, choose the import type: regular expense or mileage.
  7. Click “Next Step.”
  8. On the “Map Fields” screen, link each field in the “System Field” column to its corresponding column in the “Field in the File.” The system suggests the mapping automatically based on your file’s column headers, so review it and adjust it if needed. Fields marked with * are mandatory.
  9. Click “Import.”
  10. Review the “Results” screen: it shows the number of records imported successfully and the number that failed, with a link to each new expense and the reason for each row that wasn’t imported.

Import File Columns

System Field Mandatory What to Enter
Date Yes The expense date, in the date format set in your account.
Amount Yes Can be written with thousands separators, such as 10,444.55.
Currency No The currency code, such as EGP or SAR; if left blank, your account’s default currency is used.
Category No The category name; if it doesn’t exist, it is created automatically as an expense category.
Vendor No The name of the party the expense was paid to, saved as text exactly as written.
Description No Notes or a description of the expense.
Taxes No The name of a tax registered in the system.
Treasury No The name of an active treasury the expense is paid from.
Sub-Account No The sub-account name in the chart of accounts, or its code.
Cost Center No A sub-cost center name, or its code.

When importing mileage, the “Amount” and “Currency” fields don’t appear; instead, the distance and rate fields (both mandatory) and the vehicle field appear.

How the System Works

  • Each row in the file creates a new expense with an automatic sequential number.
  • If the tax is inclusive, the amount in the file is treated as including the tax and the tax value is calculated from it. If it is not inclusive, the tax value is added on top of the amount.
  • When a cost center is written, the expense is allocated to it at 100%.
  • When importing mileage, the system calculates the amount by multiplying the distance by the rate and records it in your account’s default currency.

Validation Rules

The system rejects the entire file in the following cases:

  • A CSV file without a delimiter chosen.
  • A file containing only one column.
  • A file in which the number of columns differs from one row to another.
  • A file that contains no data rows.

And it skips the row alone (stating the reason on the results screen) in the following cases:

  • “Date” or “Amount” is empty.
  • The date is written in a format other than your account’s format.
  • The tax, treasury, sub-account, or cost center doesn’t exist in the system.
  • The treasury is inactive, or you don’t have permission to withdraw from it.
  • You don’t have permission to access the sub-account that was written.

🛈

Note: if a mandatory field is empty in the first rows of the file, the import stops and shows you the row number; correct it, then re-upload the file.

Frequently Asked Questions

  • Can I edit existing expenses through import? No, the import only creates new expenses. To edit an expense, open it from the expenses list.
  • Some rows failed. Do I re-upload the whole file? No, upload only the failed rows after correcting them; because the system doesn’t detect duplicates, re-uploading the whole file records the successful rows a second time.
  • Why did a message appear saying the tax or treasury isn’t available in the system? Because the name written in the file doesn’t match a registered name. Review the taxes and treasuries and write the name exactly as it is, and make sure the treasury is active.
  • Why was the date rejected? Because it is written in a format different from the date format set in your account; the correct format is shown in the error message.
  • Is the amount recorded including the tax? It depends on the tax: if it is inclusive, the amount is treated as including it, and if it is not inclusive, its value is added on top of the amount.
  • How do I import receipt vouchers? From the import receipt vouchers screen, whose steps are identical to this guide.