# Cash-basis BAS from the bank feed

> Biloh reports on a cash basis: a sale and its GST count when the money lands, a purchase when it is paid. G1 and 1A come from bank credits matched to invoices; 1B comes from settled bills and coded debits, but only the GST that has evidence behind it. A purchase over the receipt-only threshold with no tax invoice has its GST held out of 1B and named in an exceptions list, so the worksheet never overstates a claim and never silently drops one. Land the paper and the GST returns to 1B by itself.

URL: https://biloh.com.au/docs/concepts/cash-basis-bas-from-the-bank-feed
Category: Explanation | Audience: operator | Updated: 2026-09-18

## What does cash basis mean in practice?

Every figure on the BAS worksheet is recognised on the date money moved at the
bank. An invoice raised in the quarter but paid after it contributes nothing to
this quarter. A bill dated in June but paid in July is July's purchase. This
is the basis most small GST-registered service businesses report on, it is
the basis Biloh's close ladder snapshots, and every report says so on its
face with `basis: "cash"`.

The accounting basis is a tenant setting (`finance.accounting_basis`, default
cash). The two-sided AR and AP reconciliation view honours an accrual override
for date anchoring, but the close, the BAS and the P&L are cash.

## Where do the four figures come from?

| Label | Meaning | Source in Biloh |
| --- | --- | --- |
| G1 | Total sales, GST-inclusive | Bank credits matched to invoices in the quarter (the Sales and GST report) |
| 1A | GST on sales | One eleventh of each matched receipt at the 10% rate |
| 1B | GST on purchases, claimable | GST on settled contractor bills as printed on the bill, plus GST on coded debits and splits, less anything held out for missing evidence |
| Net | 1A minus 1B, signed | Positive is payable to the ATO; negative is a refund due |

`get_bas_worksheet` returns exactly these on the ATO's labels, in the order
the form asks for them, plus a PAYG instalment slot. `get_gst_position` returns
the net alone; `get_sales_gst_report` and `get_purchases_gst_report` return the
rows behind G1 and 1B, one per receipt or paid bill.

## Why is 1B the claimable figure, not the raw total?

Australian tax law substantiates a GST claim with evidence, and the standard
of evidence rises with the amount. Biloh encodes that as two thresholds:

- Below `finance.gst.receipt_only_threshold_cents` (default $82.50) a purchase
  needs only a record.
- Above it, a purchase needs a tax invoice before its GST is claimable.
- Above `finance.gst.detailed_tax_invoice_threshold_cents` (default $1,000) the
  ATO additionally wants the tax invoice to name you, the buyer. Whether
  Biloh refuses to call such a purchase substantiated until that is confirmed
  is the `finance.gst.require_buyer_detail_above_threshold` setting.

A purchase over the threshold with no tax invoice attached is in state
`missing_evidence`. Its GST is held **out** of 1B and named in the worksheet's
`exceptions` under "claimable once paper lands". Nothing is lost: attach the
document (from the shoebox, an upload link, or a bill document) and the
substantiation state is re-derived, and the GST returns to 1B with no other
action. `recompute_substantiation` re-derives every record from current
amounts, documents and thresholds if a threshold is changed.

The effect is that a small 1B always arrives with the list that explains it.
An accountant reading the pack sees what was claimed, what was held out and
why, and what paper would change the figure.

## What never reaches the BAS?

- **Your own transfers.** A debit in one of your accounts paired with the
  equal credit in another (`match_transfer_pair`) moves both lines to a
  transfer state: no income, no expense, no GST, while both stay real lines in
  their balance chains.
- **Personal spend and drawings.** A category whose treatment is `excluded`
  reaches no line, no subtotal and no net, whatever it has been renamed to.
- **The ATO remittance itself.** A category treated as `liability_clearing`
  (paying last quarter's BAS) is not an expense.
- **Test data.** Rows flagged as test are excluded from every report by
  default.

## How does a mixed receipt get coded honestly?

A bank line carries one category and one GST figure. A $180 supermarket debit
that includes $12.50 of cleaning supplies cannot be coded as one thing without
either losing the credit or claiming GST on groceries. `split_bank_transaction`
divides the line into typed splits, each with its own category, GST, note and
receipt. The splits must sum exactly to the line, no split may claim more than
one eleventh of its own amount, and a split claiming GST must carry a document
or an on-record attestation of where the paper is. GST is claimed only on the
splits that legitimately carry it.

## When does the quarter's figure freeze?

When the quarter is closed. `run_period_close` snapshots received, ex-GST, GST,
receipt count and outstanding AR into the close record. The live worksheet can
still be read for a closed quarter and will agree, because both are reads of
the same library. If a late payment moves a figure, the period is reopened
with a reason, corrected, and closed again; the period pack minted from it is
versioned rather than overwritten.

## Related

- [Prepare the BAS and the accountant pack](/docs/how-to/prepare-the-bas-and-the-accountant-pack)
- [Reconcile money out](/docs/how-to/reconcile-money-out)
- [Finance settings](/docs/reference/finance-settings)
