KMD + KMD INF + EC Sales List for EMTA
A complete Estonian VAT return workflow. A pre-close validation gate runs first — flagging payments without a document, cut-off issues, tax-code/jurisdiction mismatches, GL tie-out differences, and INF-threshold inconsistencies — and blocks generation until they are resolved. It then produces the KMD2 machine CSV (the format e-MTA accepts for upload) plus an XSD-validated vatDeclaration XML carrying the KMD main form and the KMD INF A/B annexes. The EC Sales List (Form VD) for intra-community B2B supplies is a separate filing. Tax codes are dynamically discovered and classified — never hardcoded — so the plugin adapts to your specific setup, including reverse-charge and intra-community acquisition handling and VAT GL reconciliation.
Each command is a guided procedure Claude follows step by step — with your review at every decision point.
The plugin prepares, validates, and previews. You confirm. Only then does anything reach the ledger — through the same governed gateway everything else uses.
If any checkpoint fails, the workflow stops and reports the issue. Nothing posts to the ledger until every check passes — the same dry-run-first discipline as the rest of the platform.
Formulas, templates, and regulatory rules live in plain files — not hardcoded values. Swap them for your firm’s policies when you fork.
tax-codes-ee.mdDynamic tax code classification rules: check reporting_code_override, then classify by rate, reverse charge, recoverability, type, and scope
kmd-form-structure.mdComplete KMD2 form structure (real e-MTA element names), line mapping, and the transaction classification decision tree
kmd-inf-annex.mdKMD INF Part A (sales) and Part B (purchases) structure; EUR 1,000 threshold; registration code validation
ec-sales-list.mdForm VD structure for IC supplies; supply type classification (Goods/Services/Triangular); VAT number validation
vat-rates-ee.mdEstonian VAT rates (24% standard, 13%/9% reduced, zero-rated) and reverse charge rules
validation-checklist.mdPre-submission validation checks with severity levels and resolution guidance
emta-filing-guide.mdStep-by-step EMTA portal filing instructions; deadline 20th of following month; digital signature requirement
Out of the box it works with the Artifi ledger: Claude fetches your data, runs the procedure, validates the result, and submits through the governed gateway via MCP.
Or fork it. Skills, commands, validation logic, and reference data are all MIT-licensed. Swap the MCP tool calls for your own backend, or use the reference files as standalone Claude project resources.