What an Israeli uniform-format export contains, the record codes (A100, C100, D110, Z900), how to produce one correctly, and why opening it in Excel destroys it.
Key takeaways
- The export is two files: `BKMVDATA.TXT` (data) and `INI.TXT` (per-record-type totals).
- Every line is a typed record identified by its first four characters: A100 opening, C100 document header, D110 document line, Z900 closing.
- Since 2008 software vendors have been required to support this export. If your system cannot produce it, that is a defect in the system.
- Never open the file in Excel and save it. That corrupts it silently.
- The Tax Authority publishes a simulator for checking a file before you submit it.
A uniform-format export is a structured text extract whose layout the Israel Tax Authority defines and which bookkeeping software is required to produce. It is two files, not one: `BKMVDATA.TXT` holds the data and `INI.TXT` holds the control totals. An accountant asks for it because, unlike a PDF or an Excel export, it can be validated mechanically against the rules.
What is actually inside the file
`BKMVDATA.TXT` is a text file in which each line is a record, and the first four characters identify the record type. The file opens with an `A100` record and closes with `Z900`.
| Code | What the record holds | |---|---| | A100 | File opening record | | B100 | Accounting journal entry | | B110 | Accounting ledger account | | C100 | Document header (invoice, receipt, delivery note) | | D110 | Document detail line | | D120 | Payment-method detail on a receipt | | M100 | Inventory item | | Z900 | File closing record |
`INI.TXT` is the companion file. It opens with an `A000` record and carries one summary line per record type present in the data file, counting how many of each exist. That is the control mechanism: if a counter in `INI.TXT` does not match the actual number of lines in `BKMVDATA.TXT`, the file is rejected.
Why won't an Excel export do instead?
Because an Excel export is a picture of what the system chose to display, and the uniform format is everything the system holds. In practice:
- An Excel export shows the final amount. The uniform format shows the document, its lines, and how it ties to the journal entry.
- An Excel export usually omits cancelled documents. The uniform format includes them, and that is often exactly what is being checked.
- An Excel file can be edited after export with no trace. A hand-edited uniform-format file fails the control totals.
Producing a file you can rely on
- Ask the accountant for the exact parameters: which period, which legal entity, and for what purpose - audit, system migration, or a self-check.
- Back up the database or take a snapshot before generating.
- Generate from the bookkeeping system's own export module, not from an external tool.
- Run the file through the Tax Authority simulator for a first-pass check.
- If it errors, record the exact message, the software version and the period - and do not repair lines inside the file.
What actually goes wrong
- Opening and saving in Excel. Excel changes the encoding, strips leading zeros from account numbers, and reformats dates. The file looks fine and fails.
- A partial period. Exporting a few months without the matching opening records produces a file that does not balance.
- Two entities in one file. A sole trader and a company kept in the same system need separate exports.
- Hand-editing a line. It invalidates the counter in `INI.TXT` and breaks the file.
- Encoding conversion. Anything that re-encodes the file in transit corrupts the Hebrew characters.
When this becomes a development project
If a legacy system cannot produce a valid file - common with old Access databases and in-house systems - the answer is not to hand-write the file. It is an export layer: read from the source data, map fields with documentation, run integrity checks, and produce an exceptions report before generating. That way a bad value gets fixed at source and the file is regenerated, instead of the output being patched.
This is a technical description, not tax or accounting advice. The binding structure and requirements must be checked against the official source and with your accountant.
What the accountant actually checks
The file is not read as text but as a set of relationships between records. Three checks account for most rejections:
- Counter reconciliation. Every record type has a summary line in `INI.TXT`. If `BKMVDATA.TXT` holds 1,204 `C100` records and `INI.TXT` declares 1,203, the file is rejected regardless of its contents.
- Document-to-line integrity. Every `C100` needs its `D110` lines, and those lines have to reconcile to the document.
- Sequence and period. Missing documents inside a sequence are exactly what the review looks for, which is why a part-period export produces a picture that looks suspicious even when nothing is wrong.
Period, entity and specification version
Three parameters decide whether the file is accepted, and all three should be settled before you generate anything:
| Parameter | Why it matters | |---|---| | Period | A partial export without matching opening records produces an unbalanced file | | Legal entity | A sole trader and a company in the same system need separate exports | | Specification version | The specification is revised; a file built to an old version can be rejected |
If any of the three is unknown, that is the question to put to the accountant before running an export, not after.
Related: Israel Invoice allocation numbers, moving from Excel to an Israeli ERP, automating VAT reporting.
Sources
Frequently asked questions
Can I edit a uniform-format file by hand?
No. `INI.TXT` carries a counter per record type, so any manual edit to `BKMVDATA.TXT` changes the real counts and fails the reconciliation check. If a value is wrong, correct it in the source system and generate the file again.
Why was my file rejected after I opened it in Excel?
Excel rewrites the file on save: it strips leading zeros from numbers, converts date formats, and can change character encoding. The file looks identical on screen but no longer matches the specification. Regenerate it and do not open it in a spreadsheet.
My system cannot produce a uniform-format export. What now?
Since 2008 vendors have been required to support the export, so start by asking your vendor whether a module exists. If the system is in-house or too old, you need a dedicated export layer that reads the underlying data and builds both files to the specification.
What is the difference between BKMVDATA.TXT and INI.TXT?
`BKMVDATA.TXT` holds the data itself - documents, lines, journal entries and items. `INI.TXT` is a companion file with an opening record and summary records counting how many of each record type appear in the data file. Both are required together.
Keep reading
Related service
Business Automation
I build custom automations that remove repetitive work end to end.
About the author
Yehonatan Saadia
Freelance automation, web & MVP developer
I'm Yehonatan Saadia, a senior developer who builds business automation, custom websites, and MVPs for small and mid-sized companies across the US, Europe, and Israel. These guides come from real client work, not theory.
Work with meHave a project like this?
Tell me what you're trying to automate or build and I'll tell you the fastest reliable way to ship it.
