> For the complete documentation index, see [llms.txt](https://knowledge.rollcredits.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://knowledge.rollcredits.io/reconciliation/matching/upload-statements.md).

# Upload card statements

Upload a card or bank statement file to Reconciliation, check its rows before they're added, and delete statement rows or whole statements.

Upload a card or bank statement on the **Unmatched** tab of Reconciliation so you can match its rows to your transactions. Open Reconciliation from **Reconciliation > Matching** in the sidebar. Only Owners, Super Admins and Managers can upload statements and delete statement rows or whole statements.

{% hint style="info" %}
Reconciliation appears only if your company uses it. Statements belong to your company, not to one production, so unmatched rows you upload show on Reconciliation in every production in your company.
{% endhint %}

For matching rows to transactions after you upload, see [Match card statements to transactions](/reconciliation/matching.md).

## Prepare your file

Upload a .csv, .xlsx or .xls file of up to 50 MB. To see the column headings, select **CSV Example** or **Excel Example** on the upload screen to download a sample file.

The file needs a heading row with these columns:

* **Date**: the transaction date, in MM/DD/YYYY format.
* **Description**: the transaction description or vendor name. It shows as the row's **Vendor**.
* **Amount**: the transaction amount. Purchases need to be positive amounts and refunds or payments negative, the same way RollCredits shows transaction totals, so that matched totals agree. If your file has them the other way round, you can flip them in the preview.

RollCredits also reads a card number column (such as Card Number or Card #) and a cardholder column (such as Cardholder). The card's last digits fill **Card #**. When a row has no card number, **Card #** shows 0000, unless it's a CSV file whose name ends in an underscore and the card's last 4 or 5 digits, such as `statement_1234.csv`.

Rows without a valid date and rows with an amount of zero are left out.

## Upload a statement

1. On the **Unmatched** tab, select **Upload Statements**. The upload screen replaces the statement table, and the button changes to **Back**.

   <figure><img src="https://2309910149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIZxLlI2W3d1mFnHRFWWa%2Fuploads%2Fgit-blob-7214d416bcc910d6ee0c3776337bac8ed2dbc06b%2Freconciliation-unmatched-upload-statements-button.png?alt=media" alt="Unmatched tab of Reconciliation with the Upload Statements button outlined above the statement table."><figcaption></figcaption></figure>
2. Drag your file onto the box that says **Drag and drop or click to upload**, or select the box and choose the file. To pick a different file, select the X next to the file name.
3. Select **Preview file**. The **Credit Card Statement Review** window opens with the rows read from your file, in the columns **Vendor**, **Date**, **Amount**, **Card #** and **Cardholder Name**. The bottom of the window shows how many rows there are, such as "Total of 25 records".
4. Check the **Amount** column. If purchases show as negative amounts, tick **Switch value sign +-** to flip the sign of every row.
5. Select **Upload**.

To stop without uploading, close the window. Select **Back** to return to the statement table.

After you upload:

* A message says how many new rows were added, such as "Successfully uploaded 25 new credit card statements". The upload screen closes and the new rows appear in **Credit Card Statement Rows**, with your file's name in the **File Name** column.
* Rows that are already in RollCredits for your company, with the same description, card number, date and amount, are skipped. If every row was already there, you see "No new credit card statements were uploaded".

If RollCredits can't read the file, you see "Looks like the file doesn't have statements. Please check the file." or "We were unable to parse your credit card statement file." Check that the file has **Date**, **Description** and **Amount** columns and try again.

{% hint style="info" %}
If your company uses automatic matching, RollCredits tries to match the new rows to transactions right after the upload. If your production is set up to create transactions from statements, each new row also becomes a receipt transaction on the production you're in, already matched to its row, so those rows go straight to the **Matched** tab.
{% endhint %}

{% hint style="info" %}
If your company uses the Amex transaction feed, Amex transactions can arrive as statement rows on their own instead of being uploaded. See [Set up the Amex transaction feed](/reconciliation/amex-sft-config.md). Cardholder names from your statements are listed on Assign Cards to link to team members. See [Assign cards to team members](/reconciliation/assign-cards.md).
{% endhint %}

## Delete statement rows

To delete one row:

1. In **Credit Card Statement Rows** on the **Unmatched** tab, select the **...** menu at the end of the row.
2. Select **Delete**.

The row is deleted right away, with no confirmation step.

To delete several rows:

1. Tick the rows in **Credit Card Statement Rows**.
2. In the box that appears above the table, open **Pick Bulk Action** and choose **Delete Items**.
3. Select **Continue**.
4. In **Delete Statement Items?**, select **Confirm**.

## Delete a whole statement

1. In the statement file dropdown at the top of the tab, choose the statement's file name.
2. Select **Delete Statement**.
3. In **Delete Credit Statement?**, select **Confirm**.

**Delete Statement** is on both the **Unmatched** and **Matched** tabs. It first unmatches the statement's rows that are matched to transactions on this production, then deletes the statement's rows. The transactions stay in RollCredits and are no longer matched.

Rows from the statement that are matched to transactions on another production aren't deleted. To remove them, open Reconciliation on that production and delete the statement there too.

{% hint style="danger" %}
Deleting rows or a statement can't be undone. If you delete rows from an uploaded file by mistake, upload the same file again to add them back.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://knowledge.rollcredits.io/reconciliation/matching/upload-statements.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
