FinchContext
Run with

Generate JP PINT Invoice XML (Qualified Invoice)

Skill: Convert invoice data into a JP PINT (Peppol) qualified-invoice XML

Region: Japan (日本) Category: Qualified Invoice System (インボイス制度) Does: Takes ordinary invoice data and produces a JP PINT UBL Invoice — the Japanese Peppol specification used to exchange qualified invoices (適格請求書) for consumption-tax input-credit purposes. Standard: JP PINT (Peppol International model, UBL 2.1)

A qualified invoice must carry the issuer's registration number (登録番号): the letter T followed by 13 digits. Without it, the recipient cannot claim the input tax credit. Validate against the current JP PINT schematron before sending.


Input data required

Input Used for
Invoice number, issue date, type code header
Issuer registration number (T + 13 digits) seller PartyTaxScheme
Seller name, address AccountingSupplierParty
Buyer name, address AccountingCustomerParty
Currency (JPY) DocumentCurrencyCode
Line items: name, quantity, net price, consumption-tax category & rate InvoiceLine
Tax breakdown per rate (10% standard, 8% reduced) TaxTotal

Namespaces

Prefix URI
default urn:oasis:names:specification:ubl:schema:xsd:Invoice-2
cac urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2
cbc urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2

Identification:


Document structure to emit

Invoice
├── cbc:CustomizationID / cbc:ProfileID
├── cbc:ID / cbc:IssueDate / cbc:InvoiceTypeCode (380) / cbc:DocumentCurrencyCode (JPY)
├── cac:AccountingSupplierParty  (name, address, registration number T+13)
├── cac:AccountingCustomerParty
├── cac:TaxTotal                 (TaxAmount + TaxSubtotal per rate: 10% standard, 8% reduced)
├── cac:LegalMonetaryTotal
└── cac:InvoiceLine ...

Issuer registration number

Place the qualified-invoice registration number on the seller party as the VAT/tax company id:

<cac:PartyTaxScheme>
  <cbc:CompanyID>T1234567890123</cbc:CompanyID>
  <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>

Consumption-tax categories

Category code Meaning Typical rate
S Standard rate 10%
S (reduced) Reduced rate (food, certain items) 8%
E Exempt
O Out of scope

JP PINT distinguishes the 10% and 8% groups as separate TaxSubtotal entries (both category S, different Percent). Confirm the exact category-schema combination in the current JP PINT code lists.


Calculation rules


Worked example (10% and 8% lines)

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:CustomizationID>urn:peppol:pint:billing-1@jp-1</cbc:CustomizationID>
  <cbc:ProfileID>urn:peppol:bis:billing</cbc:ProfileID>
  <cbc:ID>2024-001</cbc:ID>
  <cbc:IssueDate>2024-01-15</cbc:IssueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>JPY</cbc:DocumentCurrencyCode>
  <cac:AccountingSupplierParty><cac:Party>
    <cac:PartyName><cbc:Name>株式会社アクメ</cbc:Name></cac:PartyName>
    <cac:PostalAddress><cbc:StreetName>千代田1-1</cbc:StreetName><cbc:CityName>東京都千代田区</cbc:CityName><cbc:PostalZone>1000001</cbc:PostalZone><cac:Country><cbc:IdentificationCode>JP</cbc:IdentificationCode></cac:Country></cac:PostalAddress>
    <cac:PartyTaxScheme><cbc:CompanyID>T1234567890123</cbc:CompanyID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:PartyTaxScheme>
  </cac:Party></cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty><cac:Party>
    <cac:PartyName><cbc:Name>クライアント株式会社</cbc:Name></cac:PartyName>
    <cac:PostalAddress><cbc:CityName>大阪市</cbc:CityName><cbc:PostalZone>5300001</cbc:PostalZone><cac:Country><cbc:IdentificationCode>JP</cbc:IdentificationCode></cac:Country></cac:PostalAddress>
  </cac:Party></cac:AccountingCustomerParty>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="JPY">1640</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="JPY">10000</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="JPY">1000</cbc:TaxAmount>
      <cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>10</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
    </cac:TaxSubtotal>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="JPY">8000</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="JPY">640</cbc:TaxAmount>
      <cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>8</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="JPY">18000</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="JPY">18000</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="JPY">19640</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="JPY">19640</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="JPY">10000</cbc:LineExtensionAmount>
    <cac:Item><cbc:Name>コンサルティング</cbc:Name>
      <cac:ClassifiedTaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>10</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price><cbc:PriceAmount currencyID="JPY">10000</cbc:PriceAmount></cac:Price>
  </cac:InvoiceLine>
  <cac:InvoiceLine>
    <cbc:ID>2</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="JPY">8000</cbc:LineExtensionAmount>
    <cac:Item><cbc:Name>食品</cbc:Name>
      <cac:ClassifiedTaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>8</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price><cbc:PriceAmount currencyID="JPY">8000</cbc:PriceAmount></cac:Price>
  </cac:InvoiceLine>
</Invoice>

Validation checklist


Last updated: 2026-05-26 — confirm the JP PINT customization identifier, tax-category code lists, and per-rate rounding rules against the current Digital Agency / Peppol Authority Japan specification before use.