# Vietnam Invoice MCP > A remote MCP server that lets any AI agent create, publish and query Vietnam e-invoices (hóa đơn điện tử) through MISA meInvoice, a Tax-Department-connected e-invoicing provider. Electronic invoices are mandatory nationwide since 1 Jul 2022. It wraps the create / publish / status API calls only: the digital signature (USB Token / chữ ký số) stays merchant-side. Stateless, bring-your-own MISA token, never stores anything. - MCP endpoint (Streamable HTTP): https://inv-vn.wishpool.app/mcp - Credentials headers: x-meinvoice-token (your MISA meInvoice access token, forwarded as Authorization: Bearer) + x-meinvoice-taxcode (your company tax code / MST, forwarded as the CompanyTaxCode header). Your USB Token / digital signature never leaves your side. - Env header: x-meinvoice-env: prod submits to production api.meinvoice.vn (real fiscal effect); test (default) = testapi.meinvoice.vn sandbox (no fiscal effect). - Design: this server ONLY wraps the MISA meInvoice API. Flow = create_invoice (build + compute VAT in VND, POST createinvoice, get an UNSIGNED invoice XML) -> sign that XML MERCHANT-SIDE with your USB Token via the MISA local signing service -> publish_invoice (forward the signed XML, get the official invoice number) -> query_invoice (tax-authority status). We never sign and never store anything. - Path convention: no-code (không mã) = /itg/... ; with-code (có mã) = /code/itg/... — set withCode per invoice. - Currency: VND (đồng), a 0-decimal integer currency. VAT (thuế GTGT) rates: 10% standard, 8% temporary reduced, 5% essentials, 0% exports. - Endpoints wrapped ({testapi|api}.meinvoice.vn/api/v3): POST /itg/invoicepublishing/createinvoice (create), POST /itg/invoicepublishing (publish), POST /itg/invoicepublished/invoicestatus (query). ## Tools - create_invoice: STEP 1 — build a Vietnamese e-invoice and compute VAT locally in VND — { seller{legalName,taxCode,address,...}, buyer{legalName|fullName,taxCode?,address,email?}, lines:[{name,unit?,quantity,unitPrice,taxRate?(10|8|5|0)}], invSeries, refId?, invDate?, withCode? } in, transaction_id + ref_id + invoice_data (UNSIGNED XML) out. You then sign invoice_data merchant-side. Signing stays on your side. - publish_invoice: STEP 3 — forward the merchant-signed XML — { transactionId, refId?, invoiceData(signed XML), isSendEmail?, receiverEmail?, withCode? } in, inv_no + inv_code + inv_series out. Common errors: SignatureEmpty, InvalidSignature, InvoiceNumberNotContinuous, InvoiceDuplicated. - query_invoice: Read-only status of one or more invoices — { transactionIds:[...] | transactionId, withCode? } in, per invoice publish_status + send_tax_status (không mã: 0 not sent, 1 sent, 2 accepted, 3 rejected, 4 error) out. - Owner policy guardrails: x-agentpay-max-amount (hard cap on invoice grand total in VND, computed at create time), x-agentpay-approval-above (returns a draft for human review), x-agentpay-allowed-tools (tool allow-list) — set by the human owner in the MCP client config; the agent cannot relax them. ## Safety Stateless translation layer that wraps the MISA meInvoice API only. The digital signature (chữ ký số / USB Token) stays merchant-side; the MISA token and tax code travel per-request in headers and are never stored. This server never stores credentials, documents, or customer data. Privacy policy: https://inv-vn.wishpool.app/privacy ## Sister servers Invoices: Malaysia MyInvois https://inv-my.wishpool.app/mcp, Saudi ZATCA https://inv-sa.wishpool.app/mcp, Mexico CFDI 4.0 https://inv-mx.wishpool.app/mcp, Poland KSeF https://inv-pl.wishpool.app/mcp, Chile DTE https://inv-cl.wishpool.app/mcp, Brazil NF-e https://inv-br.wishpool.app/mcp, Peru CPE https://inv-pe.wishpool.app/mcp, India GST e-invoicing https://inv-in.wishpool.app/mcp. Same stateless BYO pattern, local payments in 81 countries — full list: https://mcp.wishpool.app/llms.txt (Taiwan e-invoice 電子發票 lives in https://mcp.wishpool.app/mcp). Logistics family: https://logi.wishpool.app.