Skip to content

Uploading receipts via CSV

In short: Open the receipt list, click Upload Bank CSV, choose your file and the matching Method, click Upload, then tick each credit transaction, set its donor and project, and click Issue Receipts. At least one active receipt method with a CSV File Type must already exist — see Setting up CSV receipt upload (the CSV receipt method).

Overview

The CSV Receipt Uploader lets you create many receipts at once from a downloaded bank statement or payment-processor export, instead of capturing each donation by hand. You upload the file, ActiveDonor reads the incoming (credit) transactions, you match each one to a donor and project, and it issues the receipts. This article covers the upload itself; the one-time setup is in Setting up CSV receipt upload (the CSV receipt method) (attach a CSV File Type to an active receipt method).

Before you start

You'll need:

  • The Add Receipt permission.
  • At least one active receipt method with a CSV File Type already set up. If none exists, the uploader shows "Link a CSV template / Please set up a csv type on a receipt method then return to this page." — see Setting up CSV receipt upload (the CSV receipt method).
  • Your file ready as a .csv, .txt, .xls or .xlsx file. If you exported from Excel or Xero, save it as CSV (Comma delimited) — see Exporting from Xero for CSV upload.
  • The file's layout must match the format attached to the receipt method you will choose. See Supported bank and CSV file formats.

Uploading and issuing receipts

Step 1: Open the uploader

Click Receipts in the top navigation bar. On the Receipts page, click the Upload Bank CSV button (the upload icon, next to Add Receipt, top right). This opens the CSV Receipt Uploader.

Step 2: Choose the file and method

In the Uploader panel on the left:

  • Upload — choose your file.
  • Method — choose the receipt method that matches the file's source. (Only active methods with a CSV File Type appear here.)
  • Project — optionally pick a default project to allocate every receipt to. You can still change the project per row later.
  • Leave the ⚡ SmartDetect checkbox unticked unless you want AI auto-detection (see "SmartDetect" below).

Step 3: Upload and read the file

Click Upload. A loading animation runs while the file is read. The right-hand side then shows summary cards:

  • the receipt method and its logo,
  • the number of Credit Transactions found (with how many are Duplicates),
  • the number of Debit Transactions — these are money-out rows and are Excluded.

The Period of the statement is shown in the left panel.

Step 4: Review and complete each transaction

A table lists each credit transaction with its Date, Description and Amount. For each transaction you want to keep:

  • Tick the Save checkbox in its row (or tick Save all in the table header to select every unsaved row).
  • The row expands. Confirm or set the Donor (search by name; ActiveDonor pre-fills the donor if it recognised the reference), the Project, the Receipt Type, and an optional Description.
  • Tick Section 18A Required? if a Section 18A certificate should be issued for this donor.

The running total of selected receipts is shown at the bottom left.

Step 5: Issue the receipts

Click the green Issue {n} Receipts button at the bottom right to create the receipts. When done, a confirmation appears (for example "5 transactions processed successfully"). Saved rows are highlighted and show their new receipt number, which links to the receipt.

To start over with a different file, click Reset in the left panel.

How donors are matched automatically

For each transaction, ActiveDonor tries to find the donor from the reference/description in the file. It matches, in order, on:

  1. an email address,
  2. a South African cellphone number (10 digits starting with 0),
  3. a donor reference (the reference field on the donor record),
  4. a previous payment reference used on an earlier receipt for that donor.

If it finds a match, the donor is pre-filled. If not, you choose the donor by hand in the expanded row before saving. You can add a new donor without leaving the page using the Add Donor button at the top of the uploader.

Duplicates

ActiveDonor fingerprints each transaction row. If a row has already been receipted from a previous upload, it is marked DUPLICATE and counted under "Duplicates" — it will not be receipted again and links to the existing receipt instead. This lets you safely re-upload an overlapping statement without creating double receipts.

SmartDetect (AI auto-detection)

If your file does not match any built-in format, tick ⚡ SmartDetect before uploading. SmartDetect sends a small sample of the file to an AI service that tries to identify the date, amount, description and reference columns automatically. It is experimental — always review the detected transactions before issuing receipts. If SmartDetect cannot identify a clear pattern, you will see an error and should fall back to a built-in CSV File Type or the Generic layout. See Fixing CSV upload errors for the SmartDetect error messages.

What gets excluded

  • Debit (money-out) transactions — only positive credit amounts become receipts. Negatives are counted under Debit Transactions and marked Excluded.
  • Summary / balance rows such as "carried forward" or "brought forward".
  • Very old transactions. When reading the file, the uploader keeps rows dated within the last 10 years. But when you save, any row older than 5 years is rejected with the message "Transaction date is older than 5 years and cannot be receipted." and marked ERROR — so in practice only transactions within the last 5 years can be receipted.

Field reference (expanded transaction row)

Field Required to save? What to enter
Save Yes Tick to include this transaction.
Donor Yes The donor the donation is from. Search by name; pre-filled if the reference matched.
Project Yes The project to allocate the receipt to. Defaults to the project chosen at upload.
Receipt Type Yes The type of receipt (e.g. Donation). Defaults to your default receipt type.
Description No Optional note for the receipt.
Section 18A Required? No Tick if a Section 18A certificate should be issued for this donor.

Common issues & solutions

What you see What it means How to fix it
"Error: … Please check your CSV file type and receipt method then try again." No transactions could be read — the format doesn't match the file, or every row fell outside the date range the uploader reads. Check the receipt method's CSV File Type against the file source. See Fixing CSV upload errors.
A row shows ERROR with "Transaction date is older than 5 years and cannot be receipted." You ticked a transaction dated more than 5 years ago. Leave those rows unticked; only receipt transactions within the last 5 years.
"Donor is required" / "Project is required" / "Receipt Type is required" (shown as ":attribute is required"). You ticked a row to save without choosing all the required fields. Complete the expanded row's Donor, Project and Receipt Type, then issue again.
My deposits appear under Debit Transactions / Excluded. The file is being read with the wrong format; the amounts are coming through as negative. Re-check the CSV File Type. See Supported bank and CSV file formats.
Rows are marked DUPLICATE. Those transactions were already receipted in an earlier upload. Nothing to do — they link to the existing receipt and won't be receipted again.

FAQ

How do I upload a bank statement / bulk-upload receipts? Click Receipts → Upload Bank CSV, choose your file and the matching Method, click Upload, allocate each credit transaction, then click Issue Receipts — see How do I import a bank statement or upload receipts in bulk? for the steps.

Why are my deposits showing as Debit Transactions and excluded? The uploader only receipts positive (credit) amounts. If your deposits show as debits, the file is being read with the wrong format and the amounts are coming through negative — re-check the Method's CSV File Type against the bank that produced the file.

Can I re-upload an overlapping statement without creating double receipts? Yes. Already-receipted rows are detected and marked DUPLICATE; they won't be receipted again.

The donor wasn't filled in automatically — why? ActiveDonor matches the donor from the file's reference using email, a SA cellphone number (10 digits starting with 0), a donor reference, or a previously-used payment reference. If none is present, choose the donor by hand in the expanded row.

Can I add a donor who isn't in the system yet? Yes — use the Add Donor button at the top of the uploader without leaving the page.

How do I allocate the receipts to a project? Pick a default Project at upload, or set the Project per row in the expanded transaction. Both allocate the receipt to that project.

  • How do I import a bank statement or upload receipts in bulk?
  • Setting up CSV receipt upload (the CSV receipt method)
  • Supported bank and CSV file formats
  • Exporting from Xero for CSV upload
  • Reviewing CSV upload history
  • Fixing CSV upload errors
  • Creating a receipt
  • Receipt methods (what they are and managing them)

Need a hand?

If your file won't read after matching the format, contact ActiveDonor support with the bank/provider and a sample of the file's column headings.