# How to import purchase invoice records from a CSV into Sage X3

In Sage X3, use the import template for purchase invoice records. Fill one row per line, keep the same invoice number on every line of a bill, test with a few rows, then import.

Importing bills from a CSV means loading many supplier bills into your accounting system from one spreadsheet instead of typing each one.

## Before you start

- Sage X3 Financials and Purchasing
- Function and site rights for the screen

## The Sage X3 way

Where to find it: Setup > Usage > Imports/Exports > Imports/Exports templates (GESAOE)

1. Open the Imports/Exports templates function and find the Supplier BP invoices template (object BIS).
2. Add any extra fields you need. By default the template skips the transaction and ledger rate fields and uses the Currency rate function.
3. Prepare the file in the template layout (fixed-length, separator-based or XML).
4. Run the import and fix any rejected lines.
5. If the file carries exchange rates, add the Divider rate (RATDIV) and Multiplier rate (RATMLT) fields to the template. Add one pair for each ledger line in the company's account core model (ACM).
6. Check that the template is active. A disabled template keeps its setup but cannot be used.

## Limits in Sage X3

- To load exchange rates from the file, add the RATDIV and RATMLT fields to the template.
- How the rates load depends on the company's ACM setting. With Divider, you enter RATDIV and RATMLT is forced to 1. With Multiplier, you enter RATMLT and RATDIV is forced to 1. With Both, you can enter both.
- If ledger lines share the same currency, rate type and rate entry but have different rates in the file, X3 uses the rates from the first matching ledger for all of them.
- The template shows only the generic import error messages, so read the rejected lines carefully.
- A template with Sage as factory owner cannot be edited on screen.
- An import works like keying the invoice on screen. X3 runs the same checks as interactive entry and ignores fields that cannot be entered on the screen.
- For a fixed-length file, define the record length in the template's groups table.

## Common mistakes

- Loading exchange rates without adding the RATDIV and RATMLT fields.
- Not fixing rejected lines after the import runs.

## Common questions

### Where is the invoice import template?

In Setup > Usage > Imports/Exports > Imports/Exports templates (GESAOE). Find the Supplier BP invoices template (object BIS).

### What file formats are allowed?

Fixed-length, separator-based or XML.

### Can I load exchange rates from the file?

Yes, if you add the RATDIV and RATMLT fields to the template. By default the template skips the transaction and ledger rate fields and uses the Currency rate function.

### How many rate fields do I add?

One RATDIV and one RATMLT for each ledger line in the company's account core model. The first pair is RATDIV or RATDIV(0) and RATMLT or RATMLT(0). The second pair is RATDIV(1) and RATMLT(1).

### What if I add only one RATDIV and one RATMLT field?

X3 takes the divider and multiplier rates from the file for the first ledger. Other ledgers with the same currency, rate type and rate entry get the same rates. A ledger with the same currency but a different rate type takes its rates from the Currency rate function (COURDEV).

### Can the same template export bills too?

Yes. The Supplier BP invoices template works in import and export modes.

### Can Pulsify import a CSV of bills?

No. Pulsify reads invoice documents. Forward each invoice to your Pulsify address and approve it.

## Sources

- https://online-help.sagex3.com/erp/12/en-us/Content/OBJ/AOE_BIS.htm
- https://online-help.sagex3.com/erp/12/en-us/Content/FCT/GESAOE.htm

Source: https://www.pulsify.tech/how-to/import-supplier-bills-from-a-csv-in-sage-x3/ (last checked 2026-10-19)
