BAS & deduction compliance — not a receipt scanner

Every receipt becomes a balanced ledger entry your accountant can trust.

Photograph a tax invoice. Snap Apps reads it, validates it against nine deterministic checks, and posts a double-entry transaction with the right BAS label already attached — G11, 1B, the lot. Not a summary a human wrote by hand.

GST validators
9
run on every scan
Ledger
0.0000
the required sum, every time
Retention
5 yr
ATO evidence window
Tax invoice · captured 12 Jun 2026, 7:41am
Ironbark Trade Supplies
ABN 84 731 502 664
2 × Treated pine sleeper$34.00
1 × Impact driver bit set$28.95
1 × Safety glasses$12.50
Subtotal$75.00
GST$7.50
Total$82.50
Auto-accepted9/9 validators passed · G11 · 1B
How it fits together

Capture → extraction → document → transaction

Four layers, each one a database record, not a throwaway API response. A better model in six months re-runs the whole layer without touching the one above it.

01
Capture

Original bytes, kept forever — the legal record the ATO expects.

02
Extraction run

A versioned read of that image. Every attempt kept, none overwritten.

03
Document

The curated result, with confidence, provenance, and a tax-invoice verdict.

04
Transaction

A proposed, balanced ledger entry with a BAS label already attached.

The proof

A number no naive OCR tool can produce

Reading a total off a receipt is the easy part. Knowing whether that GST is legally claimable takes a model of what a valid tax invoice is — which is the part everyone else skipped.

Unclaimable GST report — this quarter
$342.18

of GST credits you cannot claim. 12 receipts are missing a supplier ABN, have an ABN that fails the checksum, or were never issued as a valid tax invoice.

Riverside Café
No supplier ABN on the receipt
$18.20
QuickFix Auto Parts
ABN fails the mod-89 checksum
$41.30
Coastal Fuel & Diesel
Not a tax invoice — missing GST breakdown
$9.60
Confirmed claimable this quarter
$1,284.30

Backed by valid tax invoices — the seven ATO elements present, ABN verified against the register, GST arithmetic reconciled to the cent.

Why the difference is knowable at all

Every document carries an is_tax_invoice verdict from validators, not a guess from the model. A GST claim without one is flagged before your BAS is lodged — not after the ATO asks.

What Hubdoc cannot do

One receipt, two tax treatments — split correctly

Hubdoc captures header totals only. A grocery run for site lunch mixes GST-free fresh food with taxable packaged goods, and a single total can't say which is which.

Snap Apps reconciles each category separately, per line item.
Foodworks IGA — site lunch, 8 Jun 2026
Milk 2L$4.50
Bread$3.80
Muesli bars 12pk$6.95
Soft drink 1.25L$3.20
GST-free
$8.30
Taxable · GST $0.92
$10.15
Worked example — fuel on the card
Motor Vehicle — Fuel (expense)$100.00
GST Receivable (asset)$10.00
Credit Card (liability)$110.00
Sum of splits$0.00
Not application discipline

The books are balanced by the database

A posted transaction's splits must sum to exactly zero, or Postgres refuses the commit. That's a constraint trigger, not a form validation someone could forget to add.

Drafts can sit half-built and be edited freely — the check only fires on status = 'posted'. Nothing reaches your BAS in an unbalanced state, because the database itself won't allow it.

Built for 1 July

Scan all year. The worksheet is already done.

Every occupation-relevant scan is tagged against the ATO deduction labels as it's captured — not reconstructed from a shoebox in June.

See the tax pack
Deduction worksheet — Electrician · FY2026
D1 — Car$2,140.00
D3 — Clothing & laundry$312.50
D5 — Tools & equipment$1,486.90
Estimated total deduction$3,939.40
For accounting & bookkeeping practices

One practice login. Every client's BAS position, reconciled.

Onboard a client base, not one user at a time. Xero sync posts into the chart of accounts you already run, and every scan a client takes rolls up into a firm-wide BAS review queue — no client left reading their own receipts at deadline.

Start with the next receipt in your pocket.

Free for 20 scans a month, no card required. Bring your accountant in when you're ready.