Skip to content

Local-first accounting validation · Built for Israeli practice

Validation, with the vowels removed

A balanced ledger is not the same as a correct one.

VLDTION is a desktop application you install. It reads the exports your accounting system already produces, checks them against deterministic validation and forensic rules, and shows the evidence behind every finding. Your accounting data stays on your computer: there is no workspace to log into, nothing to upload, and no model deciding what matters.

Findings · specimenSynthetic
  • Duplicate supplier invoice₪18,240.00
  • VAT rate inconsistent with document type₪7,420.00
  • Allocation number absent₪4,810.00
  • Period-end journal without narrative₪3,200.00

Each one names the rule, the records and the attribute that differed

Runs
On your machine
Data leaves it
Never
Needs a network
No

The errors that matter are not the ones that break the balance. They are the ones that survive it.

Twice

The same invoice, entered twice

A supplier sends a copy, a colleague keys it again two days later, and the input VAT is claimed on both. Nothing in the trial balance objects.

₪1

VAT that does not follow from the net

A rounding difference and a genuine keying error look identical in a report. Only arithmetic over every line separates them.

21:47

The adjustment posted after hours

A material manual journal on the last day of the quarter is not evidence of anything. It is evidence that somebody should look.

A quarter of a mid-sized client can carry thousands of lines. Reviewing all of them by hand is not a discipline problem; it is an arithmetic one. VLDTION does the arithmetic and hands back the exceptions, with the reasoning attached.

The application

Five surfaces, one engine, all of it on your machine.

This is the desktop application, drawn from synthetic data. Move through its surfaces: each one is a different answer to the same question. What is wrong here, and how would you show somebody that you are right?

Synthetic data

Findings
critical3anomaly11review7
RULE-001 · v1.2.0Duplicate supplier invoice

Two postings carry invoice 4471-B for the same supplier and the same amount, eleven days apart. The allocation numbers differ; nothing else does.

Attributes compared · 7

  • SupplierTzur Logistics=
  • Tax ID514872903=
  • Invoice number4471-B=
  • Net amount₪15,589.74=
Synthetic data · a picture of the desktop applicationNot a web application

Exceptions worth a reviewer's attention, ranked by severity and named by the rule that raised them.

How VLDTION works

Seven steps. No step you cannot inspect.

An export goes in, field mappings normalise it, rules run in a fixed order, and a bank statement is matched against the result. Every stage is deterministic and every stage happens on the accountant’s own machine.

  1. 01

    Import

    Records read from the export you already produce

  2. 02

    Normalise

    13

    Source fields mapped to one internal model

  3. 03

    Validate

    21

    Deterministic rules, evaluated in order

  4. 04

    Reconcile

    7

    Bank statement matched against the ledger, differences raised

  5. 05

    Analyse

    Findings raised with full provenance

  6. 06

    Evidence

    Individual observations recorded and exportable

  7. 07

    Carry forward

    1

    Configuration and explanations to the next period; no findings

Evidence

A finding you cannot trace is an opinion.

Every finding keeps the attributes it compared, the identifiers of the data it came from, and the sequence of events that produced it. Years later, the same files and the same rule version reach the same answer, which is what makes a finding defensible in front of a client or a reviewer.

One finding, attribute by attribute

Two supplier invoices. Five attributes identical, one absent, one different, which is the finding, stated as a comparison rather than as a score.

  • SupplierTzur LogisticsTzur Logistics=
  • Tax ID514872903514872903=
  • Invoice number4471-B4471-B=
  • Net amount₪15,589.74₪15,589.74=
  • VAT₪2,650.26₪2,650.26=
  • Allocation number27381940n/an/a
  • Posting date2026-05-062026-05-17≠

What a re-run would have to match

Dataset fingerprint
9f2c 41ab 77d0 a41e
Run
R-3E30AE85
Rule
RULE-001 · v1.2.0
Rule set
RS-6471AA58
Source row
MOVEIN.DAT line 20,418
Engine time
19 ms

Give VLDTION the same file and the same rule version and it reaches the same finding, with the same identifiers. That is the difference between a result a reviewer can check and one they have to take on trust.

Nothing here is a score · every figure is a fact about the records

Bank reconciliation

Two independent records of the same events, compared.

Import the statement your bank already produces and VLDTION matches it against the ledger in passes, strongest first. It never connects to a bank, never holds a credential, and never moves money. It reads a file you already have, on your machine.
  1. Pass 1Amount and referenceThe same amount, and a reference of four digits or more present in both records, including one found inside the bank narrative.
  2. Pass 2Amount and dateThe same amount on the same day, with exactly one candidate.
  3. Pass 3Amount in the windowThe same amount within three days by default, with exactly one candidate.
  4. Pass 4Several candidatesReported as a possible match. The engine does not choose; the accountant does, and the automatic result is kept beside the decision.

Matched

The facts agree, and the match records which

Manual

A person matched it, and is named

Possible

More than one candidate; reported, not guessed

Unmatched

One record has no counterpart

Insufficient

No rate, no data, so no claim

The same engine reconciles a control account against the records behind it. CTRL-001 to CTRL-005 above, because the populations differ and the arithmetic does not. An account the data cannot support returns insufficient data rather than agreement.

A match carries the facts that produced it. Exact amount, reference in both records, two days apart, one candidate in the window. And never a confidence percentage, because a percentage cannot be checked. Every exception states what it does not prove. How reconciliation works.

Give it the export you already produce

It reads the files your accounting system already makes.

Nobody should rebuild their bookkeeping around a review tool. VLDTION sits above the accounting system: you export what you already export, and it reads it, including the uniform file structure every registered Israeli system is required to produce.

BKMVDATA, uniform file structure

Supported

Records classified, structure validated against the file, and fields read at the positions specification 1.31 declares.

.bkmvdata .txt .dat

Hashavshevet, MOVEIN interface

Supported

Fixed-width journal transactions read at the positions the accompanying MOVEIN.PRM declares, including the allocation-number field.

.doc .prmNeeds MOVEIN.PRM

Delimited text (CSV, TSV)

Supported

Any delimited export, with columns mapped once from a dictionary of English and Hebrew header names.

.csv .txt .tsv

Excel workbook (XLSX)

Supported

Workbook values as the spreadsheet stored them. Formulas are never evaluated.

.xlsx .xlsm

Bank statement (CSV, XLSX)

Supported

The export your bank already produces, with columns recognised by name in Hebrew and English, including a currency column and a rate column where the statement carries them. Bank-specific fixed-width interchange files are not implemented: no bank publishes their record layout.

.csv .txt .tsv .xlsx

Priority. Native export

Not supported natively

Priority exports are user-configurable form exports, and no public specification defines their columns. Priority data reaches VLDTION through the uniform file structure that every registered Israeli accounting system must produce, or through Excel with a column mapping.

Every row above is generated from the adapters in this build, and each states what it does not do as plainly as what it does. Supported formats, in detail.

Built for Israeli practice

The checks a local review actually turns on.

VLDTION is shaped around the documents Israeli practices work with: allocation numbers, VAT arithmetic per document, invoice series integrity, and the uniform export formats. Shipped areas are marked; the rest are on the roadmap and are not claimed as working.

VAT

Arithmetic and rate consistency per document

5 rules shipped

Allocation numbers

Presence and format on qualifying invoices

3 rules shipped

Invoice integrity

Series continuity and credit note sourcing

2 rules shipped

Duplication

Repeated documents and repeated postings

2 rules shipped

Journal integrity

Materiality, timing and dormant accounts

5 rules shipped

Period controls

Cut-off, backdating and negative expense

2 rules shipped

Counterparty identity

Duplicate and conflicting master records

2 rules shipped

Reconciliation

Bank statement against ledger, in one currency or across two: unmatched both ways, ambiguity, balance continuity

7 exception rules shipped

Cross-period

New counterparties, dormant accounts, repeated adjustments

2 rules shipped

Withholding

The statutory rates, and a deduction recorded where the specification does not permit one

2 rules, both verified

Control accounts

A control balance against the records that support it, and the composition of the difference

6 exception rules shipped

VLDTION is a review tool, not a statement of statutory requirements. It does not guarantee compliance and is not approved or endorsed by the Israel Tax Authority. Every threshold it applies is shown on the finding it produced, so it can be judged by the professional using it.

Verified against a source

A rule is verified when we read the document that says so.

Most validation tools state a threshold and leave you to trust it. VLDTION separates the rules written against a published, dated document from its own heuristics, marks each one in the product, and prints the authority on every working paper it produces.

RULE-IL-001

Verified

Allocation number for input VAT deduction

An allocation number is required on a tax invoice above the threshold in force on its date, as a condition for deducting the input VAT embodied in it. The threshold is applied per document date: ₪20,000 for 2025, ₪10,000 from 01.01.2026 and ₪5,000 from 01.06.2026, in each case on the amount before VAT.

Authority
Israel Tax Authority (רשות המסים בישראל)
Document
הוראת ביצוע מס ערך מוסף מספר 01/2025, מודל חשבוניות ישראל: הקצאת מספרי חשבוניות
Retrieved
2026-09-23

RULE-IL-002

Verified

VAT rate in force on the transaction date

The VAT rate implied by a document is compared with the standard rate in force on that document's date: 17% until 31 December 2024 and 18% from 1 January 2025. Zero-rated and exempt supplies are outside the rule.

Authority
Israel Tax Authority (רשות המסים בישראל)
Document
צו מס ערך מוסף (שיעור המס על עסקה ועל יבוא טובין), העלאת שיעור המע"מ מ-17% ל-18%; הוראת פרשנות 1/2025
Retrieved
2026-09-23

RULE-WHT-001

Verified

Withholding above the highest rate the regulations set

Compares the tax withheld on a payment with the rates תקנה 2 of the 1977 regulations sets: 20%, or 30% where the recipient holds no acceptable-books certificate. Withholding at either rate passes. Withholding above 30% is reported, because the assessor's power over the rate is to reduce it, never to raise it. Withholding below 20% is consistent with a reduced-rate certificate, which is held by the Tax Authority and appears in no export. So it is reported as insufficient data and never as a shortfall.

Authority
בית המשפט העליון בשבתו כבית משפט לערעורים אזרחיים (פורסם באתר רשות המסים)
Document
ע"א 283/20 עמינח תעשיית רהיטים ומזרונים בע"מ נ' פקיד שומה רמלה, תקנות מס הכנסה (ניכוי מתשלומים בעד שירותים או נכסים), התשל"ז-1977, תקנות 2(א) ו-2(ב)
Retrieved
2026-09-24

RULE-WHT-002

Verified

Withholding recorded on a document the uniform file reserves for receipts

The uniform file structure places the withholding amount on a receipt, and says so: field 1224 of the document header is filled בקבלה בלבד, אם נוכה. A withholding amount on a document of another type contradicts the specification the export claims to follow.

Authority
רשות המסים בישראל, חטיבת שומה וביקורת, מחלקת ביקורת ממוחשבת
Document
הוראות להפקת קבצים במבנה אחיד, גרסה 1.31: רשומת C100, שדה 1224 (סכום הניכוי במקור)
Retrieved
2026-09-23

Every other rule in the product is a development check: VLDTION's own heuristic, labelled as one wherever it appears. Where an export does not carry what a rule needs, the rule reports insufficient data rather than passing quietly. How the Israeli rules were written.

Local-first architecture

Your client data stays where it already is.

Accountants hold other people's financial records. That is the constraint the product is designed around, not a feature added to it. VLDTION is built to do its work inside the application process, on the machine holding the export.

  1. Accounting data

    The export already on your machine

  2. VLDTION

    Normalisation and deterministic rules

  3. Local analysis

    Evaluated in the application process

  4. Findings

    Evidence you can read, keep and export

  • No cloud processing

    Analysis runs where the data already is

  • No external model

    Rules are written, versioned and inspectable

  • No data upload

    The product has no reason to transmit ledger data

  • No writes to the books

    Source records are read, never modified

The engine is complete and tested: imports, validation, reconciliation, evidence, working papers, backup and restore all work, and the whole suite runs with no network namespace at all. What is not finished is distribution. Only Linux has been built, and nothing is signed, which the download page states per platform.

The rule engine

Rules you can read, version and argue with.

Every finding names the rule that produced it and the version of that rule. Conditions are written specifications, not weights. If a rule is wrong for a client, it can be changed, and the change is visible in the next run.

RULE-001

Duplicate supplier invoice

DevelopmentCriticalv1.2.0

Two or more purchase documents share the same supplier, document number and net amount. A duplicated purchase invoice overstates expense and over-claims input VAT.

Development rule, VLDTION's own analytical procedure, not a statement of Israeli law.

Match conditions

  1. 01Supplier identifier is identical
  2. 02Normalised document number is identical
  3. 03Net amount is identical
  4. 04Document dates fall within 45 days of one another
DuplicationActive

RULE-004

VAT arithmetic inconsistency

DevelopmentCriticalv2.0.0

The VAT recorded on a document does not equal the net amount multiplied by the declared VAT rate, beyond the configured rounding tolerance.

Development rule, VLDTION's own analytical procedure, not a statement of Israeli law.

Match conditions

  1. 01Document carries a VAT rate greater than zero
  2. 02Absolute difference between recorded VAT and net x rate exceeds the rounding tolerance
VATActive

RULE-012

Missing allocation number

DeprecatedCriticalv1.3.0

A supplier invoice above the configured threshold carries no allocation number in the export. The threshold is configuration, not a legal determination.

Development rule, VLDTION's own analytical procedure, not a statement of Israeli law.

Match conditions

  1. 01Document type is an invoice from a supplier
  2. 02Net amount exceeds the configured allocation threshold
  3. 03Allocation number field is empty
Allocation numbersDisabled

The contract every rule implements

interface RuleDefinition {
  id: string
  name: string
  category: RuleCategory
  severity: Severity
  version: string
  conditions: readonly string[]

  evaluate(ctx: RuleContext): readonly FindingDraft[]
}

Rules are pure functions over a fixed context. No clock, no network, no hidden state, so a run can be reproduced exactly, which is what makes a finding auditable.

Rules in this build

  • RULE-IL-001Allocation number for input VAT deduction
  • RULE-IL-002VAT rate in force on the transaction date
  • RULE-WHT-001Withholding above the highest rate the regulations set
  • RULE-WHT-002Withholding recorded on a document the uniform file reserves for receipts
  • RULE-001Duplicate supplier invoice
  • RULE-003Repeated journal line
  • RULE-004VAT arithmetic inconsistency
  • RULE-031Non-standard VAT rate
  • RULE-012Missing allocation number
  • RULE-013Malformed allocation number
  • RULE-007Invoice sequence gap
  • RULE-009Credit note without matching invoice
  • RULE-017Material manual journal at period end
  • RULE-021Dormant account reactivated
  • RULE-023Document dated outside the period
  • RULE-026Negative expense posting
  • RULE-034Counterparty identity conflict
  • RULE-F-001Manual journal at period end, large against the client's own journals
  • RULE-F-002Counterparty appears for the first time and is immediately material
  • RULE-F-003Account dormant in the previous period becomes materially active
  • RULE-F-004The same period-end adjustment appears in consecutive periods

Finishing the work

An engagement is complete when it is, not when somebody ticks a box.

Every requirement is a question about what the engagement holds, answered from stored state. Anything required and unmet blocks completion until it is done, or until a named person records why it does not apply, which is written into the review trail rather than making the warning disappear.

Derived, not declared

Every requirement is a question about stored state. Is there a ledger, did a run happen, is anything still open, answered by reading the engagement rather than by asking the accountant.

An override is not a tick

A requirement that does not apply is overridden by a named person with a written reason, and stays visible as overridden. It never becomes met.

No progress percentage

A number would average a missing bank reconciliation together with a reviewer's name. Completion is a state with a list behind it, not a score.

A desktop application

You install it. It runs on your machine.

VLDTION is not a website and not a cloud service. There is no workspace to log into and nothing to upload: the application reads your exports from disk, keeps every record, finding and note in a database file on that computer, and works with the machine disconnected from the internet.

Windows

Built · unsigned
  • VLDTION_0.6.0_x64-setup.exe
  • VLDTION_0.6.0_x64-portable.exe

macOS

Not tested

Never compiled, so it is not offered.

Linux

Built · unsigned
  • VLDTION_0.6.0_amd64.AppImage
  • VLDTION_0.6.0_amd64.deb
  • VLDTION-0.6.0-1.x86_64.rpm

Nothing is signed yet, so nothing is published for download. The download page lists exactly what was built, for which platform, with its SHA-256, and says plainly where a platform has nothing. The screens shown on this website are bounded previews drawn from synthetic data: this site has no version of VLDTION you can run in a browser, accepts no accounting files, and holds no accounting database.

Product philosophy

Three commitments the product is built on.

01

Deterministic before clever

The same export, the same rule set, the same answer. A finding that cannot be reproduced cannot be defended.

02

Evidence before conclusions

The product never asks to be trusted. It shows the records it compared and the attribute that failed.

03

The accountant decides

VLDTION raises exceptions and ranks them. It does not close them, and it does not touch the books.

Install it, and point it at your own exports.

VLDTION is a desktop application. This website documents it, shows what its screens look like and hands you the installer; it holds no accounting data, processes none, and has no version of the product you can run in a browser. The application on your machine is the only thing that reads a ledger.