From monthly close to a cash forecast
Fabricated October to December 2026 case. Verified locally on 4 October 2026.
October closes with $22,000 cash against a $24,000 budget. The arithmetic reconciles, but close exceptions remain and a fabricated reviewer requests changes.
Closed-month cash against the original budget
| Closed month | Cash | Original cash budget | Actual less budget | Close |
|---|---|---|---|---|
| October | $22,000.00 | $24,000.00 | -$2,000.00 | REVIEW |
| November | $24,500.00 | $24,000.00 | $500.00 | REVIEW |
| December | $29,500.00 | $24,000.00 | $5,500.00 | REVIEW |
Accounting judgement
October cash rises from $20,000 to $22,000 while finishing $2,000 below budget. These are different comparisons: movement between closed balances and actual cash against the original budget. Revenue exceeds its zero budget by $4,000 and net income by $1,500. Selected transactions explain arithmetic contributions; the cash shortfall remains unattributed. Those contributions and the cash bridge do not establish a business cause or clear a close finding.
I separate calculation, close and review decisions. All three checkpoints have a RECONCILED calculation, a close marked REVIEW and an original receipt marked UNREVIEWED. A later fabricated reviewer requests changes. The source remains provisional and grants no action authority.
The workflow preserves the original budget, freezes closed months and revises the remaining forecast as each month closes. It includes known invoices only; future sales, purchases, tax and funding are excluded.
What was verified
Three forecast packs and reader reports recomputed from retained fabricated evidence. An altered receipt was rejected. A separate native Power BI view matched all 9 monthly rows and 135 supplied value and state fields. Amounts remain exact decimal text, with no financial formulas or aggregation. The full producer workflow was reused from its recorded run.
This verifies local import and displayed values. Integration with the existing financial dashboard, source or reviewer authenticity, live business accuracy, statutory currency and client suitability remain unverified.
Inspect the evidence
The CSV contains all nine checkpoint/month rows and their review states, with amounts in AUD. Months recur as the forecast changes; compare within a checkpoint and do not sum across checkpoints. The JSON reports also retain the cash bridge, close exceptions and source digests. All business data, transactions and reviewers are fabricated.
- Monthly values and review states (CSV, AUD)
- October reader report (JSON)
- November reader report (JSON)
- December reader report (JSON)
- Native Power BI verification (JSON)
- File checksums (SHA-256)
This is a local software case. It is not tax, legal or financial advice, accounting approval, a posting instruction or a compliance determination.
Accepted upstream work
Maintainers of the projects below merged these specific changes. The merges do not establish adoption or endorsement of this portfolio, or validate its accounting calculations.
OpenAccountants, tax guides for coding agents. Pull request 85 restored the Australian BAS guide and added stale-sync integrity checks, including detection after a write. It merged on 11 August 2026 and changed 10 files. Stopping stale sync runs from overwriting guides also needs the exporter to call those checks and the repository to enforce them. The pull request did not deploy either.
Meltano SDK, a framework for Singer taps and targets. Pull request 3727 retains previously discarded OAuth refresh tokens in memory for the run without writing them to stored configuration. It merged on 8 August 2026 and changed 2 files.
Xero command line, XeroAPI’s command-line tool for the Xero Accounting API. Pull request 44 passes the --standard-layout and --payments-only flags of the balance sheet and profit and loss reports to the matching Xero SDK parameters. The two had been swapped, so --standard-layout returned a cash-basis report with different amounts. It merged on 17 September 2026, changed 3 files and added regression tests for both reports.
PyXero, a Python client for the Xero accounting API. Pull request 440 adds client-credentials authentication for Xero custom connections. It merged on 10 September 2026 and changed 4 files. Pull request 439 raises an error when a Xero call expecting JSON receives a non-JSON page with a 200 status, which the client had passed back to callers as raw bytes. It merged on 9 September 2026 and changed 5 files.
Odoo Community Association, accounting modules for Odoo. Three pull requests for Odoo 19 merged after review. Pull request 1565 stops the financial report module's link hook acting on other reports and on frames that have not loaded. It merged on 7 September 2026 and changed 2 files. Pull request 1003 fixes three online bank statement import tests that failed in the first hour after midnight UTC. It merged on 31 August 2026 and changed 1 file. Pull request 1029 adds regression coverage for automatic reconciliation of an existing statement line. It merged on 31 August 2026 and changed 1 file.
ERPNext, open source ERP software. I reported outdated and misspelt account names in its Australian chart of accounts in issue 59498. A maintainer opened pull request 59499 incorporating my commit and merged it on 27 September 2026. It changed 1 file.
ERPNext Australian Localisation, BAS, ABA payment file and BAI2 bank file extensions for ERPNext. Pull request 194 stops ABA payment files truncating ten-digit account numbers to nine digits. It now rejects the number and names the party or bank account. It merged on 7 September 2026 and changed 2 files.
LedgerSMB, double-entry accounting software. Pull request 9842 makes existing GIFI codes (Canadian tax-reporting account codes) read-only while their descriptions stay editable, with tests for both. It merged on 7 September 2026 and changed 3 files.
requests-cache, a persistent HTTP cache for Python. Pull request 1187 adds a has_content_changed attribute that reports whether a refreshed response differs from the cached copy. It compares JSON without regard to formatting or key order and reports no result when no comparison was made. It merged on 15 September 2026 and changed 7 files.
Merge dates are in Australian Eastern time. Merge status and file counts were read from the GitHub API on 28 September 2026. By then 65 pull requests I had opened in other projects had merged: 46 to OpenAccountants and 19 across 17 other repositories. This section is a selection. To test the tools themselves, rerun the evaluations.
Identity and credentials
I am a Provisional CA ANZ Member. CA ANZ has not endorsed this site or its tools. Two of my credentials can be verified with their issuer: the SAP S/4HANA Financial Accounting Credly badge and the SAP S/4HANA Management Accounting Credly badge. Xero has no public verification page for its certification, so I publish the certificate Xero issued here in full. These credentials do not establish regulatory approval, authorisation to provide a regulated service or a client outcome.
Xero Certified Specialist, Level 3
- Holder
- Ryan Duguid
- Issued by
- Xero
- Awarded
- 1 July 2026
- Valid until
- 1 July 2027
The certificate records my own product knowledge for the period shown. It is not a Xero endorsement, certification or review of this site or any tool listed here, and it is not a Xero partner status. The badge is Xero’s artwork, taken from the certificate itself. Both files carry their own source and usage record, not this repository’s software licence.
Packages, releases and repositories
Install commands are under Adopt. The package, release, compatibility and licence links below point to maintained records.
- Aus Accounting MCP: MCP Registry, Aus Accounting MCP, PyPI, Aus Accounting MCP, repository, Aus Accounting MCP, releases, Aus Accounting MCP, engine compatibility source and licence, Aus Accounting MCP.
- payday-super-checker: PyPI, payday-super-checker, repository, payday-super-checker, releases, payday-super-checker, release records and licence, payday-super-checker.
- ATO benchmarks, trust distributions and company tax: ato-benchmark-compare repository, releases, ato-benchmark-compare and licence, ato-benchmark-compare; Solomon’s Sword repository, releases, Solomon’s Sword and licence, Solomon’s Sword; The Exchequer Tally repository, releases, The Exchequer Tally and licence, The Exchequer Tally.
- Agent skills and construction WIP: Australian Accounting Skills, releases, Australian Accounting Skills and licence, Australian Accounting Skills; Hardhat Ledger, releases, Hardhat Ledger and licence, Hardhat Ledger; TheWIPTally repository and licence, TheWIPTally.
- Xero export and Workpaper Review Gate: xero-trial-balance-export repository, releases, xero-trial-balance-export, release and compatibility record and licence, xero-trial-balance-export; Workpaper Review Gate repository, release record and licence, Workpaper Review Gate.
- Coal LSL calculator and this record: site repository, Coal LSL calculator and this record and licence, Coal LSL calculator and this record.
Sources and review dates
Start with current Commonwealth legislation, such as the Income Tax Assessment Act 1997. Regulator material supplies administrative and operational guidance, while accounting standards govern questions within their scope. Check the current primary source before each calculation; secondary summaries are not authoritative.
- Payday Super primary source review and ATO benchmark source notes.
- Trust distribution statutory review record and company tax and franking statutory review record.
- Hardhat Ledger source review and TheWIPTally AASB 15 source notes.
- Australian Accounting Skills source manifests, Xero API scope record and Workpaper Review Gate design record.
- The Legislation Corpus code builds a keyword-selected set of Commonwealth tax legislation from the Register with source and provenance records, and its Tax Radar AU queues changes for review.
- The Coal LSL calculator source list stays on the calculator page, where each source link can be checked directly.
These records link to the maintained source instead of repeating rates, thresholds, package versions or compatibility tables that change.
Data and privacy boundary
The calculation engines and MCP server run locally. Installation downloads packages. If you use a cloud-backed AI host, supplied arguments, tool results and local library excerpts may be sent to that host’s model provider. Check the host’s configuration and data handling before supplying information.
The optional LodgeiT calculator adapter is separate, unreleased development code and off by default. It makes network calls only with explicit enablement, a configured base URL and an allowed host. The standard MCP server does not use it as a fallback. Website hosting and browser data handling have their own boundaries.
No client, taxpayer or production-ledger data appears in public examples. Business fixtures are synthetic; dated official-source snapshots are identified separately and do not establish current law. Client data belongs in a controlled local directory, never a public issue, repository or enquiry email.
- The ATO benchmark client data control records the zero-network runtime boundary.
- The Payday Super local file boundary, TheWIPTally local file boundary and Workpaper Review Gate data boundary state how client files are separated from public fixtures.
- The MCP client architecture describes a local stdio process. The Xero scope and credential boundary separately records that product’s read-only API and local token controls.
- The Coal LSL calculator repository makes the browser implementation inspectable.
Security, tests and release evidence
Each component publishes a security policy, and its repository shows the current GitHub Actions results.
| Component | Security policy | Test results |
|---|---|---|
| Aus Accounting MCP | SECURITY.md, Aus Accounting MCP | GitHub Actions, Aus Accounting MCP |
| Payday Super | SECURITY.md, Payday Super | GitHub Actions, Payday Super |
| ATO benchmarks | SECURITY.md, ATO benchmarks | GitHub Actions, ATO benchmarks |
| Trust distributions | SECURITY.md, Trust distributions | GitHub Actions, Trust distributions |
| Company tax | SECURITY.md, Company tax | GitHub Actions, Company tax |
| Hardhat Ledger | SECURITY.md, Hardhat Ledger | GitHub Actions, Hardhat Ledger |
| TheWIPTally | SECURITY.md, TheWIPTally | GitHub Actions, TheWIPTally |
| Xero export | SECURITY.md, Xero export | GitHub Actions, Xero export |
| Workpaper Review Gate | SECURITY.md, Workpaper Review Gate | GitHub Actions, Workpaper Review Gate |
| Australian Accounting Skills | SECURITY.md, Australian Accounting Skills | GitHub Actions, Australian Accounting Skills |
| This site | SECURITY.md, This site | GitHub Actions, This site |
Published products expose release assets through the release pages linked above. Each repository’s attestation index provides inspectable SLSA provenance and SPDX SBOM records, and each release workflow page shows the workflow definition and its current run results:
- australian-accounting: attestations, australian-accounting; release workflows for Aus Accounting MCP, Payday Super, ATO benchmarks, trust distributions and company tax
- australian-accounting-skills (Hardhat Ledger included): attestations, australian-accounting-skills; release workflow, australian-accounting-skills
- accounting-review-pipeline (Xero export): attestations, accounting-review-pipeline; release workflow, Xero trial balance export
- Shared across repositories: Release Policy workflows for releases, provenance attestations and Python package checks
Passing tests proves only the specified behaviour under the tested conditions. It does not prove a real-world accounting conclusion or a client outcome.
Supplier information for AI registers
The National AI Centre’s Guidance for AI Adoption recommends that organisations using AI keep an AI register and assess AI risk. For each component that works with an AI assistant, I publish the supplier’s side of that record: what it is, the data it handles, where a person decides, its known limits and failure modes, how it is tested and how to report a problem. Each record’s first seven rows follow the columns of the National AI Centre’s AI register template. The firm adds its own owner, use, risk assessment and review dates. Each repository has a test that holds its record to the version or published release it describes.
- Aus Accounting MCP, with answers to the questions firms put to tax-research tools
- evatt, the Xero Ledger Review Gate and the Workpaper Review Gate
- Australian Accounting Skills
- au-fpa-pack
- llm-tax-guardrails, the external prompt guide
AS ISO/IEC 42001:2023 is the Australian identical adoption of ISO/IEC 42001:2023, a management system standard for organisations that provide or use AI systems. Certification against it is voluntary and is carried out by external certification bodies, not by ISO. These records are supplier information, not a certification, an audit or a conformity assessment, and they do not establish that any organisation’s AI management system conforms to, or is certified against, the standard.
Human accountability and refusals
Human review remains mandatory before posting, payment, lodgement, approval or period lock. Professional judgement stays with a person. A tool must refuse or escalate missing, contradictory, stale or out-of-scope facts rather than invent a result. Each product page records its specific inputs, refusal conditions, source currency limits and human decision boundary.
Published evaluations
I publish evaluations of fixed releases on the Evaluations page. I use feedback only with recorded permission. Each evaluation states its scope and method. It is not regulatory approval or evidence beyond that evaluation.