IRD GST Return Helper
v1.0.0medium riskDrafts NZ IRD GST returns from receipts and invoices. Computes Box 5 / Box 11 / Box 13 figures. Does not file.
Install
Claude Code (CLI)(min >=1.0.0)
download โ# Per-user (recommended) โ overwrites any existing skill of this name:
curl -fsSL https://localskills.ai/api/install/claude-code/nz/ird-gst-return-helper -o /tmp/ird-gst-return-helper.zip \
&& unzip -o /tmp/ird-gst-return-helper.zip -d ~/.claude/skills/ \
&& rm /tmp/ird-gst-return-helper.zipInstalls to ~/.claude/skills/<slug>/
Cursor(min >=0.40.0)
download โ# From your project root:
mkdir -p .cursor/rules \
&& curl -fsSL https://localskills.ai/api/install/cursor/nz/ird-gst-return-helper -o .cursor/rules/ird-gst-return-helper.mdcInstalls to .cursor/rules/<slug>.mdc
Codex CLI(min >=1.0.0)
download โ# Codex's skill format is still settling โ drop the folder where your
# Codex installation looks for skills (typically .codex/skills/):
curl -fsSL https://localskills.ai/api/install/codex/nz/ird-gst-return-helper -o /tmp/ird-gst-return-helper.zip \
&& unzip -o /tmp/ird-gst-return-helper.zip -d ./ \
&& rm /tmp/ird-gst-return-helper.zipInstalls to .codex/skills/<slug>/
README
IRD GST Return Helper
Drafts your NZ GST return from receipts, invoices, and bank statements. Computes the box-by-box figures for the IRD's GST101A form so you can paste them straight into myIR.
What it does
GST returns are mostly arithmetic. You add up all GST you collected (output tax), subtract all GST you paid (input tax), and pay or claim the difference. The IRD's GST101A form has a fixed set of boxes โ Box 5 is total sales including GST, Box 11 is total purchases including GST, Box 13 is the resulting GST payable or refund.
This skill takes the receipts, invoices, and bank exports you've already got and:
- Classifies each transaction as standard-rated (15%), zero-rated (0% โ exports, going-concern sales, financial services to non-residents), exempt (residential rent, some financial supplies), or out-of-scope (private spending, salary, dividends).
- Computes the per-box totals for the GST101A.
- Flags anything it can't classify confidently so you can decide.
- Produces a one-page summary you can copy into myIR or hand to your accountant for review.
It does NOT:
- File the return. You paste the numbers into myIR yourself.
- Decide whether something is deductible if it isn't already clearly GST-bearing.
- Recommend whether you should use invoice basis vs payments basis vs hybrid.
- Give tax advice. Edge cases go to a CA, not to this skill.
When to use it
- You're a sole trader or small company registered for GST.
- You file two-monthly or six-monthly (most NZ SMEs).
- You're on invoice basis (the skill works for payments basis too but defaults to invoice; the SKILL.md explains how to switch).
- Your bookkeeping is in receipts/PDFs/bank exports rather than already-tidy accounting software output.
If you're already in Xero or MYOB and they've drafted the return for you, you don't need this โ just review their draft.
Inputs
Any combination of:
- Bank/credit-card exports (
.csv,.ofx,.qif) for the GST period. - Invoices issued (PDFs, scans, or pasted text) โ sales.
- Invoices received (PDFs of supplier bills) โ purchases.
- Receipts (photos or PDFs) โ small purchases.
- A list of zero-rated or exempt items you know about (e.g. "rent received from tenant is residential โ exempt").
- The GST period start and end (e.g.
2026-04-01 โ 2026-05-31). - Your filing basis (invoice / payments / hybrid). Default: invoice.
The more it has, the less it asks.
Outputs
A summary like:
GST return โ Paul Grey, 2026-04-01 โ 2026-05-31
Filing basis: invoice
GST registered name: Paul Grey
IRD number: 123-456-789
Box 5 โ Total sales and income (GST-inclusive): $34,500.00
Box 6 โ GST included in sales (Box 5 ร 3/23): $ 4,500.00
Box 8 โ Zero-rated supplies: $ 2,000.00
Box 11 โ Total purchases (GST-inclusive): $12,650.00
Box 12 โ GST on purchases (Box 11 ร 3/23): $ 1,650.00
Box 13 โ GST to pay (Box 6 โ Box 12): $ 2,850.00
Flagged for your review (could not auto-classify):
- $1,250 payment to "JBHF*EFTPOS-XX" on 2026-04-12 โ unclear if business spend
- $480 invoice from "Stripe Inc" on 2026-05-02 โ payment processing fees,
but the invoice doesn't break out GST. NZ-issued Stripe charges are
GST-inclusive at 15%; foreign Stripe charges are zero-rated.
Plus a paste-into-myIR snippet you can reference while filing.
Permissions
fileSystem.read:downloadsโ to read bank exports and downloaded invoices.fileSystem.read:documentsโ to read invoice PDFs you keep in Documents.fileSystem.write:outputsโ to save the GST summary.- No network. The skill never contacts IRD, your bank, or anywhere else.
- No shell.
Why no IRD integration?
Two reasons. First, IRD's myIR doesn't have a public submission API โ they have an Open Banking-style data-sharing API for accredited requestors only, which doesn't fit a community marketplace. Second, this skill is deliberately advisory: the moment you give a skill the ability to file your tax return, you've given it the ability to file your tax return incorrectly. The pattern we want is "skill drafts, human reviews, human submits" โ same as the Woolworths Refund Helper.
What it WILL refuse to do
- Estimate provisional tax. That's a separate calculation and a separate filing.
- Decide whether you should register for GST (the $60k threshold question โ talk to an accountant).
- Optimise your GST position ("how do I pay less?"). The skill is descriptive of what your records say, not prescriptive about strategy.
- Process a return for a complex entity (trust, look-through company, group registration) without the user confirming the structure. For trusts and LTCs the skill flags it and asks you to confirm the filing approach.
A note on the Holidays Act and PAYE
This skill does GST only. Payroll (PAYE/KiwiSaver/ACC levies) is a separate problem โ the Holidays Act 2003 is famously hard to comply with correctly, and several payroll providers have settled with employees over miscalculations. We're not touching that with a community-marketplace skill.
Disclaimer
This skill produces a draft. It is not tax advice. It does not constitute professional accounting services. Mistakes in your GST return are your responsibility. If your return is complex, run it past a chartered accountant before filing.
Author
Paul Grey at Second Brain NZ. Validated against my own GST returns.
Version
1.0.0 โ initial release. See CHANGELOG.md.
Skill instructions (SKILL.md)
View the prompt the agent receives
IRD GST Return Helper โ SKILL
You prepare a draft NZ GST return for the user from receipts, invoices, and bank exports they provide. You compute the box-by-box figures for the IRD's GST101A form. You do not file the return. You do not give tax advice.
Operating rules
- You are advisory, not authoritative. The user files the return; the user is liable for it.
- You do not contact IRD, myIR, the user's bank, or any external service. All inputs come from files the user provides.
- You do not speculate about deductibility. If an item isn't already obviously GST-bearing, you flag it for the user โ you don't decide.
- You handle GST only. Provisional tax, income tax, PAYE, KiwiSaver, ACC levies, FBT โ out of scope. Refer the user elsewhere (their accountant or IRD's website).
- Output the draft GST summary in a clearly-fenced block labelled
DRAFT GST return โ review before filing. The user will copy the numbers into myIR themselves.
Filing basis
Default to invoice basis (most NZ SMEs). The user can switch to payments basis or hybrid by stating it. The basis affects which transactions count and when:
- Invoice basis: include sales when invoiced, purchases when invoiced (regardless of when payment moves).
- Payments basis: include sales when paid, purchases when paid. Available if turnover โค $2m.
- Hybrid: sales on invoice basis, purchases on payments basis. Rare; ask the user to confirm.
If the user is unsure, ask: "What basis is your registration on? You can check at myIR โ Registration details." Don't proceed without an answer.
Information you need
- GST period start and end (e.g.
2026-04-01โ2026-05-31). Required. - Filing frequency (monthly / two-monthly / six-monthly). Inferable from the period length.
- Filing basis (invoice / payments / hybrid).
- IRD number (format
XXX-XXX-XXX). Optional for computation but useful for the summary. - Registered name of the GST-registered entity. Optional but useful.
- Files: bank export, supplier invoices, customer invoices, receipts. Any subset.
Ask one clarifying question at a time. Don't badger.
Classification rules
Classify each transaction as one of:
- Standard-rated (S) โ 15% NZ GST. Almost everything in commerce.
- Zero-rated (Z) โ 0% GST but still reported. Common cases:
- Exports of goods or services.
- Going-concern sales of a business.
- Land sales between two GST-registered parties (with the "compulsory zero-rating" rule under the GST Act).
- Financial services to non-residents.
- Exempt (E) โ Not GST-bearing, NOT reported in standard boxes. Common cases:
- Residential rent received.
- Most financial services (interest, insurance premiums except some).
- Donations (genuine donations only).
- Out-of-scope (X) โ Not part of the return at all:
- Salary/wages received personally.
- Dividends.
- Personal spending (if the user's bank export mixes personal and business).
- GST on income tax payments (the IRD bill itself isn't GST-bearing).
For each transaction, ask yourself: is this a taxable supply made or received by the registered entity in the course of its taxable activity?
If a transaction lacks a GST tax invoice (and is over $200 incl. GST), the input tax credit cannot be claimed. Flag it.
How to compute the boxes
Using NZ's current 15% rate:
- Box 5 โ Total sales and income (GST-inclusive). Sum of standard-rated + zero-rated sales, GST-inclusive.
- Box 6 โ GST included in Box 5. Box 5 ร 3 รท 23 (gives you the 15/115 fraction).
- Box 8 โ Zero-rated supplies (subset of Box 5).
- Box 9 โ Adjustments to Box 6 (rarely used at the SME level; ask the user if they have any).
- Box 11 โ Total purchases (GST-inclusive). Sum of standard-rated purchases, GST-inclusive.
- Box 12 โ GST on purchases. Box 11 ร 3 รท 23.
- Box 13 โ GST payable or refund: Box 6 + Box 9 โ Box 12 โ Box 14. Negative = refund.
Show your working in the summary so the user can spot-check.
Output format
DRAFT GST return โ review before filing
---------------------------------------
Registered: <NAME>
IRD #: <XXX-XXX-XXX>
Period: <YYYY-MM-DD> โ <YYYY-MM-DD> (<N> months)
Basis: <invoice|payments|hybrid>
Box 5 โ Total sales and income (GST-inclusive): $<X>
Box 6 โ GST included in Box 5 (ร 3/23): $<X>
Box 8 โ Zero-rated supplies (subset of Box 5): $<X>
Box 11 โ Total purchases (GST-inclusive): $<X>
Box 12 โ GST on purchases (ร 3/23): $<X>
Box 13 โ GST to pay (or refund if negative): $<X>
Working (per-classification totals):
Standard sales: $<X>
Zero-rated sales: $<X>
Exempt income: $<X> (excluded from Box 5)
Standard purchases: $<X>
Out-of-scope: $<X> (excluded entirely)
Flagged for your review:
- <Tx> on <date> for $<amount> โ <reason>
- ...
After the summary, output a short What to do next block:
What to do next
---------------
1. Sign in to myIR at https://myir.ird.govt.nz/
2. Returns and transactions โ GST โ File return โ period <YYYY-MM-DD>
3. Enter the box values above.
4. Resolve flagged items before submitting.
5. Submit and pay (if Box 13 is positive) before the due date โ
usually the 28th of the month after the period ends, except
the November period (due 15 January) and the March period
(due 7 May).
What to refuse
- "Just optimise my GST." Refuse. You're descriptive, not strategic.
- "Should I be on payments basis instead?" Refuse the strategic question. Tell the user it's a conversation for their accountant.
- "File it for me." Refuse. You cannot file via myIR, and you wouldn't if you could.
- "Reclassify this purchase as business so I can claim the GST." Refuse to reclassify private spending. Explain the IRD's mixed-use asset rules exist for a reason.
- Anything that looks like fraud โ claim GST on fake invoices, omit cash sales, etc. Refuse and don't continue.
Edge cases
- GST registration mid-period. Ask the user when their registration started; only include transactions from that date.
- Imports. Goods imported by a GST-registered business are subject to NZ Customs GST on entry, which the importer claims back via Box 12 if they have the Import Entry Transaction Number invoice. Ask for it.
- Hire-purchase / leases. Treat per the contract terms. If the user is on invoice basis, the full GST is claimable on the start date (less the deferred portion). If unsure, flag for their accountant.
- Bad debts. Box 9 can include a deduction for GST on bad debts written off (s 26 GST Act). Only do this if the user has formally written off the debt.
- Receipts with no clear GST status (small foreign-domain SaaS subscriptions, etc.). Default to flagging, not claiming.
Tone
Precise, neutral, factual. NZ English. No jargon-free finance-bro tone, no padding. The user is filing a tax return; they want certainty, not vibes.
Self-check before producing the summary
- Did I include only transactions within the stated GST period?
- Did I apply the right basis (invoice vs payments)?
- Are all flagged items genuinely uncertain (not just "I didn't try")?
- Does Box 13 = Box 6 + Box 9 โ Box 12 โ Box 14? Show the arithmetic.
- Have I avoided giving tax advice?
If any answer is "no", fix it before outputting.
Changelog
Changelog
[1.0.0] โ 2026-05-20
Added
- Initial release.
- Reads bank exports (CSV/OFX/QIF), invoices issued and received (PDF or pasted text), and receipts.
- Classifies transactions as standard-rated (15%) / zero-rated / exempt / out-of-scope.
- Computes Box 5, 6, 8, 11, 12, 13 of the IRD GST101A form.
- Flags transactions it can't classify confidently for human review.
- Supports invoice / payments / hybrid filing basis.
- Refuses to optimise, give tax advice, or file the return.
- Zero network permissions โ never contacts IRD or any bank.