Japan Qualified Invoice (インボイス) Compliance Checker
Pricing
from $3.00 / 1,000 invoice checkeds
Japan Qualified Invoice (インボイス) Compliance Checker
Check whether Japanese invoices meet Qualified Invoice System requirements: required fields, T-number format and check digit, reduced-rate marking, per-rate totals and the once-per-rate tax rounding rule. Pure computation, no scraping.
Pricing
from $3.00 / 1,000 invoice checkeds
Rating
0.0
(0)
Developer
AutoWorks JP
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Check whether Japanese invoices actually meet the Qualified Invoice System (適格請求書等保存方式) requirements before you claim input consumption tax credit (仕入税額控除) — in bulk, deterministically, with no AI guesses.
Other tools only tell you whether a T-number is registered. This Actor checks the invoice itself:
| Check | What it catches |
|---|---|
| Required fields | Missing issuer name, registration number, transaction date, line descriptions, recipient (standard invoices) |
| Registration number | Not T + 13 digits (full-width / hyphens are normalized first), corporate-number check-digit mismatch (typo detection, offline) |
| Reduced-rate marking | 8% items not marked as reduced-rate (e.g. ※) |
| Per-rate totals | Missing 10% / 8% totals, totals that don't match the line items, invalid tax rates |
| Tax rounding rule | Tax must be rounded once per tax rate per invoice. Detects per-line rounding and wrong tax amounts; accepts floor, round-half-up and ceiling |
| Grand total | Grand total that doesn't add up (warning) |
Supports standard qualified invoices (適格請求書) and simplified ones (適格簡易請求書, recipient optional, tax amount or rate), and tax-exclusive or tax-inclusive pricing.
Pure computation: no scraping, no API keys, no data leaves the run.
Input
{"strict": false,"invoices": [{"id": "INV-0001","invoiceType": "standard","issuerName": "株式会社サンプル商事","registrationNumber": "T1180301018771","recipientName": "株式会社テスト","transactionDate": "2026-10-01","priceBasis": "exclusive","reducedRateIndicated": true,"lineItems": [{ "description": "コピー用紙", "amount": 5000, "taxRate": 10 },{ "description": "お茶", "amount": 1980, "taxRate": 8, "reducedRateMark": true }],"rateSummaries": [{ "taxRate": 10, "amount": 5000, "taxAmount": 500 },{ "taxRate": 8, "amount": 1980, "taxAmount": 158 }],"grandTotal": 7638}]}
| Field | Notes |
|---|---|
invoiceType | standard (default) or simplified |
priceBasis | exclusive (default) or inclusive |
lineItems[].taxRate | 10, 8, 0 (non-taxable), also "10%" or 0.1 |
lineItems[].taxAmount | Optional. If given, used to detect per-line rounding |
reducedRateIndicated | true if the invoice has a legend such as "※は軽減税率対象" |
strict | Treat warnings as failures |
Amounts may be numbers or strings like "1,980円".
Output
One dataset item per invoice:
{"id": "INV-0002","status": "FAIL","compliant": false,"errorCount": 1,"errors": [{"code": "LINE_LEVEL_ROUNDING","severity": "error","field": "rateSummaries[8%].taxAmount","message": "8% tax 78 equals the sum of per-line rounded taxes. Rounding must be done once per tax rate per invoice.","messageJa": "8%の消費税額78が明細ごとの端数処理の合計になっています。…"}],"warnings": [],"taxBreakdown": [{ "taxRate": 8, "lineItemTotal": 999, "expectedTax": { "floor": 79, "roundHalfUp": 80, "ceil": 80 },"reportedAmount": 999, "reportedTax": 78, "roundingMethodDetected": null }]}
status is PASS, WARN or FAIL. A run summary is saved to the key-value store as SUMMARY.
Typical pipeline
OCR / invoice-extraction tool → this Actor → accounts-payable approval. Pair it with a T-number registry lookup Actor to also confirm the issuer was registered on the invoice date.
Limitations
- Does not query the NTA registry; it checks format and check digit only.
- Check-digit mismatch is a warning, because the algorithm is defined for corporate numbers.
- Whether an item legally qualifies for the 8% rate is not judged; only that 8% items are marked.
- This is a validation aid, not tax advice.
日本語概要
請求書データ(JSON)が適格請求書の記載要件を満たしているかを一括で検証します。チェック対象は、登録番号の形式とチェックデジット、必須項目の漏れ、軽減税率対象の表示、税率ごとの合計、そして「1請求書につき税率ごとに1回」の端数処理ルールです。適格簡易請求書と税込・税抜の両方に対応しています。外部通信はなく、計算のみで判定します。
詳しい解説記事(Qiita): インボイスの「端数処理ミス」と源泉徴収の「10%計算ミス」をPythonで一括検出する