Skip to content
View ryanduguid's full-sized avatar

Block or report ryanduguid

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ryanduguid/README.md

Ryan Duguid

I'm an accountant in Newcastle, Australia. I build open-source controls for Australian tax, payroll and financial reporting.

Start with the fictional Newcastle cash-flow case: an Excel forecast, a management briefing, and a late-payment scenario.

llm-tax-guardrails: APES 110 aligned guardrails Open-source Australian accounting tools Ozzit: 133 native Excel LAMBDAs Python 3.10 or later Model Context Protocol

Selected work

  • au-fpa-pack explains profit and cash through a fictional Newcastle maintenance business, with an Excel forecast, a management briefing and a scenario where a customer pays late.
  • australian-accounting brings the Australian tax and payroll engines together with the local MCP server.
  • accounting-review-pipeline connects Xero exports, close controls and review packs with Excel and Power BI.
  • australian-accounting-skills provides preparation workflows for public practice and subcontractor accounting: 19 in release v0.2.1 and 50 on the default branch preparing v0.3.0.
  • Ozzit provides 133 native Excel LAMBDA functions plus five help tables for financial modelling and GST arithmetic.

Accountants can browse the tools, developers can inspect the local MCP server, and reviewers can reproduce the public evaluations using fabricated inputs.

The projects use synthetic public examples and support professional review. They do not lodge or write to ledgers.

Background

  • Provisional member of Chartered Accountants ANZ
  • SAP S/4HANA certified in FI and CO
  • Xero specialist certification (Level 3)

I publish Aus Accounting MCP on PyPI. Credentials, release provenance, and test evidence are on the evidence page.

Contributions

  • Meltano SDK: I fixed OAuth refresh-token handling so the authenticator keeps a replacement token and preserves the existing token when no replacement arrives. The change includes regression tests and updates the in-memory authenticator. Persistent configuration write-back is outside its scope. Merged 8 August 2026.
  • OpenAccountants: I restored Australian BAS guide corrections after an older platform export overwrote them, and added checks for stale source changes. The repository checks detect this overwrite pattern. Preventing it also requires changes to the private exporter. Merged 11 August 2026.

Setup

OpenHands runs on my old uni laptop with CachyOS. I use Hermes Agent on my Windows 11 IoT Enterprise LTSC desktop and supplement my vitamin D.

Pinned Loading

  1. au-fpa-pack au-fpa-pack Public

    Australian FP&A tools for openfpa (Jeff Brines / Guiderail), with 30 June years, Xero AU and GST/BAS.

    Python

  2. accounting-review-pipeline accounting-review-pipeline Public

    Runs deterministic month-end close checks on Xero trial-balance exports and produces exception packs for human sign-off.

    Python

  3. Ozzit Ozzit Public

    133 native Excel LAMBDA functions and five help tables for Australian GST arithmetic and financial modelling. Requires Microsoft 365 or Excel 2024 or later; no add-ins or macros.

    Python

  4. australian-accounting australian-accounting Public

    Local engines for ATO small-business benchmarks, Payday Super 2026 and Division 7A loan review, available through the aus-accounting-mcp server. Synthetic fixtures only.

    Python

  5. australian-accounting-skills australian-accounting-skills Public

    Preparation and review workflows for Australian public practice and contracting: BAS, month-end close, payroll and workpaper tie-outs. No lodgement or advice.

    Python 1 1

  6. llm-tax-guardrails llm-tax-guardrails Public

    APES 110 and TPB Code controls, DrDebits refusal patterns and evaluation fixtures for firms using LLMs in tax work.

    Python 1