Working with data
BKMVDATA, the uniform file structure
Israeli accounting software must be able to produce an export in the structure prescribed by the Director of the Tax Authority: an index file, INI.TXT, and a data file, BKMVDATA.TXT. VLDTION recognises that export, validates its structure against itself, and reads every field at the positions the published specification declares.
What the application does with one
01
Detection
A dropped file is recognised as a BKMVDATA data file or an INI index file from its own content, not from its name. The import screen names the format it detected and why.
02
Record classification
Every line is classified by the four-character record code that begins it and counted by type, including codes the application does not recognise. Nothing is discarded silently.
03
Structural validation
The opening record, the closing record, the totals it declares, the running record numbers and the identity carried across records are all checked against what was actually read from the file.
04
Provenance
Every observation carries the file, the record type, the record number and the line number, so evidence can name the exact record it came from.
05
Normalisation
Document headers become transactions, journal lines that belong to no document become journal postings, and accounts and counterparties come from the records that define them.
Hebrew encoding
The specification names two character sets: ISO-8859-8-i under Windows and CP-862 under DOS. VLDTION decides between them from the bytes the file actually uses rather than from a declaration, so Hebrew names and descriptions read correctly in findings and in exports either way.
Read against the published specification
What this specification does not carry
Version 1.31 predates the allocation-number regime, so no record in it has a field for מספר הקצאה. A dataset imported from a 1.31 file declares that field absent, and RULE-IL-001 reports insufficient data rather than flagging every invoice for a number the format could not carry.
- Document headers, lines, journal entries, accounts and inventory items are all read field by field.
- Orders and delivery notes are counted and reported, not posted: they are documents, not entries.
- A document marked cancelled in the export is reported and not imported.
- Hebrew is decoded as ISO-8859-8 or CP-862, whichever the bytes actually use.