> ## Documentation Index
> Fetch the complete documentation index at: https://docs.antei.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Transaction Data via CSV

> Upload bulk transactions using CSV to enable tax determination, reconciliation, and reporting.

## Overview

The CSV Upload method allows you to bulk upload transactions, such as invoices, refunds, or credit notes, into the Antei platform. This is ideal for companies that manage transaction data in spreadsheets or export it from ERPs without real-time integration.

Bulk uploads are immediately processed through our tax engine, and validation feedback is available in real-time — making it easy to reconcile and fix issues.

***

<iframe className="w-full aspect-video rounded-xl" src="https://youtu.be/hKm0X0CskrM" title="Antei Test Video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

***

## Functionality Overview

This module supports:

* Uploading structured transaction data via a simple CSV file
* Validating and auto-mapping fields using our built-in registry
* Handling multi-country tax scenarios including exemptions and reverse charge
* Reviewing upload results with immediate feedback on errors, warnings, and tax classification

***

## Steps to Use

1. Navigate to **Compliance → Transactions** in your Antei account.
2. Click **Upload CSV** and download the standard CSV template.
3. Fill the template with your transaction data.
4. Upload the file.
5. Review validation results — errors, warnings, and success states.
6. Fix any errors and re-upload as needed.
7. Once validated, transactions are ingested and available for further actions.

***

## Required Format

<Table>
  | Column Name       | Type    | Required | Description                                        |
  | ----------------- | ------- | -------- | -------------------------------------------------- |
  | transaction\_id   | string  | yes      | Unique ID for this transaction                     |
  | transaction\_date | string  | yes      | ISO Date format: `YYYY-MM-DD`                      |
  | contact\_name     | string  | yes      | Name of customer or vendor                         |
  | contact\_type     | string  | yes      | One of: `B2B`, `B2C`, `GOV`, etc.                  |
  | contact\_country  | string  | yes      | ISO country code (e.g., `US`, `IN`)                |
  | contact\_tax\_id  | string  | no       | Customer or vendor’s tax ID (if applicable)        |
  | product\_name     | string  | yes      | Description or name of the product/service         |
  | product\_category | string  | yes      | One of: `SAAS`, `CSS`, `PRSFT`, etc.               |
  | delivery\_method  | string  | yes      | One of: `CLOUD`, `PHYSICAL`, `DOWN`                |
  | amount            | number  | yes      | Total invoice amount                               |
  | currency          | string  | no       | Defaults to account base currency if not specified |
  | tax\_exempt       | boolean | no       | Set `true` for exempt transactions                 |
</Table>

***

## Validation Rules

* **transaction\_date** must be in `YYYY-MM-DD` format
* **product\_category** and **delivery\_method** must match predefined codes
* **amount** must be a positive number
* If `contact_tax_id` is provided, it will be validated against official registries if the country supports it
* Transactions with missing or invalid fields will not be processed

***

## Advanced Features

* **Auto-mapping**: If column names do not match exactly, our system attempts intelligent field mapping based on field types and past uploads.
* **Version history**: All uploads are versioned and can be rolled back or reviewed.
* **Merge & Replace**: Users can choose whether to append data or overwrite previous uploads.

***

## Pro Tips & FAR

<Card>
  <ProTip>Use the provided CSV template to avoid format issues and ensure compatibility with validation rules.</ProTip>

  <FAR>
    <Format>Accepted format: `.csv` only. UTF-8 encoding recommended.</Format>
    <Accuracy>Fill all required fields and double-check `product_category` codes for correctness.</Accuracy>
    <Reliability>All uploads are scanned using Cloudmersive for malware before processing.</Reliability>
  </FAR>
</Card>

***

## FAQs

<Accordion title="Can I upload multi-country transactions in one file?">
  Yes, you can. Just ensure each row has the correct country and jurisdictional fields filled in (like `contact_country`, `state`, etc.).
</Accordion>

<Accordion title="How are tax rates determined during upload?">
  Each transaction is processed through Antei’s tax engine in real-time based on product, delivery method, customer type, and jurisdiction.
</Accordion>

<Accordion title="What happens to failed uploads?">
  You’ll see a detailed validation report. Only rows that pass all checks are ingested. You can download the failed rows, fix them, and re-upload.
</Accordion>

***

## Related Guides

* [Mapping Products to Categories](../mapping-products)
* [Tax Rate API for Real-Time Calculation](/api-reference/tax-rate)
* [Reconciliation Overview](../../../reconciliation/data_recon/overview)
