### General Guides Overview Source: https://docs.invopop.com/llms Get started, configure workflows, and achieve compliance across different countries and integrations. ```APIDOC ## General Guides Overview ### Description This overview provides access to guides on getting started with Invopop, configuring workflows, and ensuring compliance with regulations in various countries and integrations. ### Method GET ### Endpoint /guides/overview.md ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **content** (string) - Markdown content of the Guides Overview. #### Response Example ``` { "content": "# Guides\nGet started, configure workflows, and achieve compliance across different countries and integrations." } ``` ``` -------------------------------- ### Build Invoice Workflow from Scratch Source: https://docs.invopop.com/guides/pl-ksef This workflow guides the creation of an invoice from initial setup to sending it to KSeF. It involves setting states, adding sequential codes, signing the document, generating XML, and sending it. Error handling is included to set the state to 'error' if any step fails. ```json { "name": "Invoice", "description": "Invoice", "schema": "bill/invoice", "steps": [ { "id": "3a3e2150-fb6e-11f0-8a4e-79beeb9e3cf2", "name": "Set State", "provider": "silo.state", "summary": "Set state to `sent`{.state .sent}", "config": { "state": "sent" } }, { "id": "2f41c860-fb6e-11f0-8a4e-79beeb9e3cf2", "name": "Sign Envelope", "provider": "silo.close" }, { "id": "2b064190-fb6e-11f0-8a4e-79beeb9e3cf2", "name": "Generate FA_VAT v3 XML", "provider": "gov-pl.generate" }, { "id": "36ec8550-fb6e-11f0-8a4e-79beeb9e3cf2", "name": "Send FA_VAT v3 XML to KSeF", "provider": "gov-pl.send" } ], "rescue": [ { "id": "3eca1210-fb6e-11f0-8a4e-79beeb9e3cf2", "name": "Set State", "provider": "silo.state", "summary": "Set state to `error`{.state .error}", "config": { "state": "error" } } ] } ``` -------------------------------- ### API Versioning Examples Source: https://docs.invopop.com/api-ref/versioning Examples of API endpoints demonstrating the versioning strategy used by Invopop. ```APIDOC ## API Versioning Examples ### Description Examples of API endpoints demonstrating the versioning strategy used by Invopop. ### Method GET ### Endpoint `https://api.invopop.com/utils/v1/ping` --- ### Method PUT ### Endpoint `https://api.invopop.com/transform/v1/jobs/XXXXXX` --- ### Method GET ### Endpoint `https://api.invopop.com/silo/v1/envelopes` ``` -------------------------------- ### Supplier Party Document Examples (JSON) Source: https://docs.invopop.com/guides/peppol JSON examples for creating supplier party documents in GOBL format. These examples include details like name, tax ID, addresses, and emails, tailored for different countries (Belgium, Germany, Italy, Spain). Adapt these to your specific needs. ```json { "$schema": "https://gobl.org/draft-0/org/party", "name": "Benelux Industries SA/NV", "tax_id": { "country": "BE", "code": "0316597904" }, "addresses": [ { "num": "42", "street": "Rue de la Loi", "locality": "Brussels", "region": "Brussels-Capital", "code": "1040", "country": "BE" } ], "emails": [ { "addr": "billing+test@example.com" } ] } ``` ```json { "$schema": "https://gobl.org/draft-0/org/party", "name": "Rheinland Technologies GmbH", "tax_id": { "country": "DE", "code": "879558966" }, "addresses": [ { "num": "27", "street": "Friedrichstraße", "locality": "Berlin", "region": "BE", "code": "10117", "country": "DE" } ], "emails": [ { "addr": "rechnungen@rheinlandtech.de" } ] } ``` ```json { "$schema": "https://gobl.org/draft-0/org/party", "name": "Tecnologie Adriatico S.r.l.", "tax_id": { "country": "IT", "code": "00159560366" }, "addresses": [ { "num": "15", "street": "Via Giuseppe Verdi", "locality": "Milano", "region": "MI", "code": "20121" } ], "emails": [ { "addr": "fatturazione@tecnologieadriatico.it" } ] } ``` ```json { "$schema": "https://gobl.org/draft-0/org/party", "name": "Invopop S.L.", "tax_id": { "country": "ES", "code": "B85905495" }, "people": [ { "name": { "given": "Juan", "surname": "Pérez González" }, "identities": [ { "key": "national", "code": "123456789A" } ], "addresses": [ { "num": "10", "street": "Calle Ejemplo", "locality": "Madrid", "region": "Madrid", "code": "28020", "country": "ES" } ] } ], "addresses": [ { "num": "42", "street": "Calle Pradillo", "locality": "Madrid", "region": "Madrid", "code": "28002", "country": "ES" } ], "emails": [ { "addr": "billing@example.com" } ] } ``` -------------------------------- ### Example DF-e Supplier Registration Workflow (JSON) Source: https://docs.invopop.com/guides/br-dfe This JSON object defines a workflow for registering suppliers for DF-e (Documentos Fiscais Eletrônicos) in Brazil. It includes steps for signing an envelope, registering the supplier, and setting the state to 'processing' or 'error'. This workflow can be used as a template or a starting point for custom implementations. ```json { "name": "DF-e register supplier", "description": "Starts the registration of a DF-e supplier", "schema": "org/party", "steps": [ { "id": "68e5abd0-b64b-11f0-8ddf-b9fd6fa99d97", "name": "Sign Envelope", "provider": "silo.close" }, { "id": "6f0a6500-b64b-11f0-8ddf-b9fd6fa99d97", "name": "Register DF-e supplier (Brazil)", "provider": "nfe-br.register" }, { "id": "71918510-b64b-11f0-8ddf-b9fd6fa99d97", "name": "Set State", "provider": "silo.state", "summary": "Set state to `processing`{.state .processing}", "config": { "state": "processing" } } ], "rescue": [ { "id": "7d127750-b64b-11f0-8ddf-b9fd6fa99d97", "name": "Set State", "provider": "silo.state", "summary": "Set state to `error`{.state .error}", "config": { "state": "error" } } ] } ``` -------------------------------- ### General Guides and FAQs Source: https://docs.invopop.com/llms Guides on authentication, pricing, and frequently asked questions for various countries. ```APIDOC ## Authentication Guide ### Description After completing this quick start guide you'll have generated and tested an authentication token that can be used in all subsequent requests to the Invopop API. ### Method GET ### Endpoint /websites/invopop/guides/authentication.md --- ## Understanding Invopop's Pricing ### Description Usage and cost of issuing invoices and other documents through Invopop. ### Method GET ### Endpoint /websites/invopop/get-started/pricing.md --- ## Quickstart Guide ### Description Sign up instructions and getting your first sandbox working. ### Method GET ### Endpoint /websites/invopop/get-started/quickstart.md --- ## Belgium FAQ ### Description Frequently asked questions about invoicing compliance in Belgium. ### Method GET ### Endpoint /websites/invopop/faq/belgium.md --- ## Brazil FAQ ### Description Frequently asked questions about invoicing compliance in Brazil. ### Method GET ### Endpoint /websites/invopop/faq/brazil.md --- ## Colombia FAQ ### Description Frequently asked questions about invoicing compliance in Colombia. ### Method GET ### Endpoint /websites/invopop/faq/colombia.md --- ## France FAQ ### Description Frequently asked questions about invoicing compliance in France. ### Method GET ### Endpoint /websites/invopop/faq/france.md --- ## Germany FAQ ### Description Frequently asked questions about invoicing compliance in Germany. ### Method GET ### Endpoint /websites/invopop/faq/germany.md --- ## Greece FAQ ### Description Frequently asked questions about invoicing compliance in Greece. ### Method GET ### Endpoint /websites/invopop/faq/greece.md --- ## Italy FAQ ### Description Frequently asked questions about invoicing compliance in Italy. ### Method GET ### Endpoint /websites/invopop/faq/italy.md --- ## Mexico FAQ ### Description Frequently asked questions about invoicing compliance in Mexico. ### Method GET ### Endpoint /websites/invopop/faq/mexico.md --- ## Poland FAQ ### Description Frequently asked questions about invoicing compliance in Poland. ### Method GET ### Endpoint /websites/invopop/faq/poland.md --- ## Portugal FAQ ### Description Frequently asked questions about invoicing compliance in Portugal. ### Method GET ### Endpoint /websites/invopop/faq/portugal.md --- ## Spain FAQ ### Description Frequently asked questions about invoicing compliance in Spain. ### Method GET ### Endpoint /websites/invopop/faq/spain.md --- ## Chargebee Guide ### Description Import and process invoices and credit notes from Chargebee. ### Method GET ### Endpoint /websites/invopop/guides/chargebee.md --- ## Correct Invoices Guide ### Description Step by step guide to correct issued invoices with credit notes. ### Method GET ### Endpoint /websites/invopop/guides/correct-invoice.md --- ## Email Guide ### Description An application to send emails from your workflows, with or without attachments. ### Method GET ### Endpoint /websites/invopop/guides/email.md --- ## Upload files to silo entries ### Description Learn how to upload files to silo entries using the API. ### Method GET ### Endpoint /websites/invopop/guides/file-uploads.md ``` -------------------------------- ### Code Generation Example from Series Source: https://docs.invopop.com/api-ref/sequences/series/overview Demonstrates how a 'Series' object is used to generate a formatted code. Based on the example 'Series' object, this shows the resulting code with prefix, padded index, and suffix applied. ```text TEST101001-2022 ``` -------------------------------- ### Belgium Standard Invoice Example (JSON) Source: https://docs.invopop.com/guides/peppol A standard invoice example for Belgium, adhering to the GOBL schema and including necessary details for supplier, customer, and line items. This example is formatted in JSON. ```json { "$schema": "https://gobl.org/draft-0/bill/invoice", "$regime": "BE", "$addons": [ "eu-en16931-v2017" ], "type": "standard", "series": "INV", "code": "PP000003", "issue_date": "2025-04-03", "currency": "EUR", "tax": { "ext": { "untdid-document-type": "380" } }, supplier": { "name": "Benelux Industries SA/NV", "tax_id": { "country": "BE", "code": "0316597904" }, "inboxes": [ { "key": "peppol", "scheme": "0208", "code": "0316597904" } ], "addresses": [ { "num": "42", "street": "Rue de la Loi", "locality": "Brussels", "region": "Brussels-Capital", "code": "1040", "country": "BE" } ], "emails": [ { "addr": "test@example.com" } ] }, "customer": { "name": "Singapore Company LTD", "tax_id": { "country": "SG", "code": "199904785Z" }, "inboxes": [ { "key": "peppol", "scheme": "0195", "code": "SGUEN199904785Z" } ], "addresses": [ { "street": "18 Marina Gardens Drive", "locality": "Singapore", "region": "Central Region", "code": "018953", "country": "SG" } ], "emails": [ { "addr": "billing+test@invopop.com" } ] }, "lines": [ { "i": 1, "quantity": "12", "item": { "name": "Sambox product", "price": "145.00", "unit": "one" }, "sum": "1740.00", "taxes": [ { "cat": "VAT", "key": "export", "ext": { "untdid-tax-category": "G" } } ], "total": "1740.00" } ], "payment": { "terms": { "notes": "Will be paid by 2026-06-02" } }, "totals": { "sum": "1740.00", "total": "1740.00", "taxes": { "categories": [ { "code": "VAT", "rates": [ { "key": "export", "ext": { "untdid-tax-category": "G" }, "base": "1740.00", "amount": "0.00" } ], "amount": "0.00" } ], "sum": "0.00" }, "tax": "0.00", "total_with_tax": "1740.00", "payable": "1740.00" } } ``` -------------------------------- ### GOBL Invoice Structure Example Source: https://docs.invopop.com/guides/peppol This snippet illustrates a basic structure for a GOBL invoice, detailing customer, supplier, and line item information. It serves as a foundational example for creating electronic invoices using the GOBL format. ```json { "customer": { "name": "Invopop SL", "tax_id": { "country": "ES", "code": "B85905495" }, "inboxes": [ { "key": "peppol", "scheme": "9920", "code": "ESB85905495" } ], "addresses": [ { "street": "Calle Pradillo 42", "locality": "Madrid", "region": "Madrid", "code": "28002", "country": "ES" } ], "emails": [ { "addr": "billing+test@invopop.com" } ] }, "lines": [ { "i": 1, "quantity": "12", "item": { "name": "Sambox product", "price": "145.00", "unit": "one" }, "sum": "1740.00", "taxes": [ { "cat": "VAT", "key": "intra-community" } ], "total": "1740.00" } ], "payment": { "terms": { "detail": "Will be paid by 2026-06-02" } } } ``` -------------------------------- ### Set State Workflow Configuration (JSON) Source: https://docs.invopop.com/guides/peppol This JSON configuration demonstrates how to set the state of a workflow. It includes examples for setting the state to 'sent' and 'error', commonly used in success and failure paths. ```json { "id": "3037a310-10ab-11f0-a09e-7b63571a4ae2", "name": "Set State", "provider": "silo.state", "summary": "Set state to `sent`{.state .sent}", "config": { "state": "sent" } } ``` ```json { "id": "39513240-10ab-11f0-a09e-7b63571a4ae2", "name": "Set State", "provider": "silo.state", "summary": "Set state to `error`{.state .error}", "config": { "state": "error" } } ``` -------------------------------- ### Peppol Inbox Structure Example (JSON) Source: https://docs.invopop.com/guides/peppol Example JSON structure for a Peppol inbox, which is added to a supplier entry after registration. It includes the key, country scheme ID, and the derived Participant ID. ```json "inboxes": [ { "key": "peppol", "scheme": "9920", "code": "ESB85905495" } ], ``` -------------------------------- ### Peppol Germany B2B Invoice Example (JSON) Source: https://docs.invopop.com/guides/peppol This JSON snippet represents a standard Peppol Germany B2B invoice. It includes details about the supplier, customer, invoice lines, and tax information, adhering to the GOBL schema and the eu-en16931-v2017 addon. ```json { "emails": [ { "addr": "rechnungen@rheinlandtech.de" } ] }, "customer": { "name": "Singapore Company LTD", "tax_id": { "country": "SG", "code": "199904785Z" }, "inboxes": [ { "key": "peppol", "scheme": "0195", "code": "SGUEN199904785Z" } ], "addresses": [ { "street": "18 Marina Gardens Drive", "locality": "Singapore", "region": "Central Region", "code": "018953", "country": "SG" } ], "emails": [ { "addr": "billing+test@invopop.com" } ] }, "lines": [ { "i": 1, "quantity": "12", "item": { "name": "Sambox service", "price": "145.00", "unit": "h" }, "sum": "1740.00", "taxes": [ { "cat": "VAT", "key": "outside-scope", "ext": { "untdid-tax-category": "O" } } ], "total": "1740.00" } ], "payment": { "terms": { "notes": "Will be paid by 2026-06-02" } }, "totals": { "sum": "1740.00", "total": "1740.00", "taxes": { "categories": [ { "code": "VAT", "rates": [ { "key": "outside-scope", "ext": { "untdid-tax-category": "O" }, "base": "1740.00", "amount": "0.00" } ], "amount": "0.00" } ], "sum": "0.00" }, "tax": "0.00", "total_with_tax": "1740.00", "payable": "1740.00" } } ``` -------------------------------- ### Belgium B2B Standard Invoice Example (JSON) Source: https://docs.invopop.com/guides/peppol This JSON structure represents a standard B2B invoice for Belgium, adhering to the GOBL schema and including the eu-en16931-v2017 addon for European standards. It details supplier and customer information, line items, payment terms, and tax calculations. ```json { "$schema": "https://gobl.org/draft-0/bill/invoice", "$regime": "BE", "$addons": [ "eu-en16931-v2017" ], "uuid": "019bb71c-7205-7000-9aef-878145b9fce6", "type": "standard", "series": "INV", "code": "PP000003", "issue_date": "2025-04-03", "currency": "EUR", "tax": { "ext": { "untdid-document-type": "380" } }, "supplier": { "name": "Benelux Industries SA/NV", "tax_id": { "country": "BE", "code": "0316597904" }, "inboxes": [ { "key": "peppol", "scheme": "0208", "code": "0316597904" } ], "addresses": [ { "num": "42", "street": "Rue de la Loi", "locality": "Brussels", "region": "Brussels-Capital", "code": "1040", "country": "BE" } ], "emails": [ { "addr": "test@example.com" } ] }, "customer": { "name": "Singapore Company LTD", "tax_id": { "country": "SG", "code": "199904785Z" }, "inboxes": [ { "key": "peppol", "scheme": "0195", "code": "SGUEN199904785Z" } ], "addresses": [ { "street": "18 Marina Gardens Drive", "locality": "Singapore", "region": "Central Region", "code": "018953", "country": "SG" } ], "emails": [ { "addr": "billing+test@invopop.com" } ] }, "lines": [ { "i": 1, "quantity": "12", "item": { "name": "Sambox product", "price": "145.00", "unit": "one" }, "sum": "1740.00", "taxes": [ { "cat": "VAT", "key": "export", "ext": { "untdid-tax-category": "G" } } ], "total": "1740.00" } ], "payment": { "terms": { "notes": "Will be paid by 2026-06-02" } }, "totals": { "sum": "1740.00", "total": "1740.00", "taxes": { "categories": [ { "code": "VAT", "rates": [ { "key": "export", "ext": { "untdid-tax-category": "G" }, "base": "1740.00", "amount": "0.00" } ], "amount": "0.00" } ], "sum": "0.00" }, "tax": "0.00", "total_with_tax": "1740.00", "payable": "1740.00" } } ``` -------------------------------- ### Peppol Germany Export Invoice Example (JSON) Source: https://docs.invopop.com/guides/peppol This JSON snippet demonstrates how to create a Peppol Germany export invoice for B2B goods delivered outside the EU. It utilizes the `export` tax key and the `eu-en16931-v2017` addon to correctly set tax categories for tax-exempt exports. ```json { "$schema": "https://gobl.org/draft-0/bill/invoice", "$regime": "DE", "$addons": [ "eu-en16931-v2017" ], "type": "standard", "series": "INV", "code": "PP000003", "issue_date": "2025-04-03", "currency": "EUR", "supplier": { "name": "Rheinland Technologies GmbH", "tax_id": { "country": "DE", "code": "879558966" }, "inboxes": [ { "key": "peppol", "scheme": "9930", "code": "DE879558966" } ], "addresses": [ { "num": "27", "street": "Friedrichstraße", "locality": "Berlin", "region": "BE", "code": "10117", "country": "DE" } ], "emails": [ { "addr": "rechnungen@rheinlandtech.de" } ] }, "customer": { "name": "Singapore Company LTD", "tax_id": { "country": "SG", "code": "199904785Z" }, "inboxes": [ { "key": "peppol", "scheme": "0195", "code": "SGUEN199904785Z" } ], "addresses": [ { ``` -------------------------------- ### Standard JSON Invoice Structure Source: https://docs.invopop.com/guides/peppol A basic JSON structure for a GOBL invoice, detailing line items, taxes, and payment terms. This example illustrates the core components required for a standard invoice. ```json { "lines": [ { "i": 1, "quantity": "12", "item": { "name": "Sambox services", "price": "145.00", "unit": "one" }, "sum": "1740.00", "taxes": [ { "cat": "VAT", "key": "standard", "rate": "general", "percent": "19%", "ext": { "untdid-tax-category": "S" } } ], "total": "1740.00" } ], "payment": { "terms": { "notes": "Will be paid by 2026-06-02" } }, "totals": { "sum": "1740.00", "total": "1740.00", "taxes": { "categories": [ { "code": "VAT", "rates": [ { "key": "standard", "ext": { "untdid-tax-category": "S" }, "base": "1740.00", "percent": "19%", "amount": "330.60" } ], "amount": "330.60" } ], "sum": "330.60" }, "tax": "330.60", "total_with_tax": "2070.60", "payable": "2070.60" } } ``` -------------------------------- ### Spain Export Invoice JSON Example Source: https://docs.invopop.com/guides/peppol This JSON object represents a Peppol export invoice for Spain. It includes supplier and customer details, line items, and tax information. The 'export' tax key is used to indicate VAT exemption for goods sent outside the EU. ```json { "$schema": "https://gobl.org/draft-0/bill/invoice", "$addons": [ "eu-en16931-v2017" ], "$regime": "ES", "type": "standard", "series": "INV", "code": "PP000003", "issue_date": "2025-04-03", "currency": "EUR", "supplier": { "name": "Invopop S.L.", "tax_id": { "country": "ES", "code": "B71353213" }, "inboxes": [ { "key": "peppol", "scheme": "9920", "code": "ESB71353213" } ], "addresses": [ { "num": "42", "street": "Calle Pradillo", "locality": "Madrid", "region": "Madrid-Capital", "code": "28002", "country": "ES" } ], "emails": [ { "addr": "billing@example.com" } ] }, "customer": { "name": "Singapore Company LTD", "tax_id": { "country": "SG", "code": "199904785Z" }, "inboxes": [ { "key": "peppol", "scheme": "0195", "code": "SGUEN199904785Z" } ], "addresses": [ { "street": "18 Marina Gardens Drive", "locality": "Singapore", "region": "Central Region", "code": "018953", "country": "SG" } ], "emails": [ { "addr": "billing+test@invopop.com" } ] }, "lines": [ { "i": 1, "quantity": "12", "item": { "name": "Sambox product", "price": "145.00", "unit": "one" }, "sum": "145.00", "taxes": [ { "cat": "VAT", "key": "export" } ], "total": "145.00" } ], "payment": { "terms": { ``` -------------------------------- ### Going Live Guide Source: https://docs.invopop.com/llms Steps to take when you are ready to issue real invoices. ```APIDOC ## Going Live Guide ### Description This guide outlines the necessary steps to transition from testing to issuing live invoices. ### Method GET ### Endpoint /guides/how-to-go-live.md ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **content** (string) - Markdown content of the Going Live Guide. #### Response Example ``` { "content": "# How to go live\nReady to issue real invoices? Here are the next steps" } ``` ``` -------------------------------- ### Example Invoice Data Structure for Spain Source: https://docs.invopop.com/guides/es-facturae This JSON structure represents typical invoice data, including buyer and seller details, itemized lines, and payment information. It is formatted for use with Invopop and Spanish compliance requirements. ```json { "locality": "Madrid", "region": "Madrid", "code": "28014", "country": "ES" } ] } }, "ordering": { "buyer": { "name": "Departamento de Compras", "identities": [ { "code": "LA0007408" } ], "addresses": [ { "num": "10", "street": "Gran Vía", "locality": "Madrid", "region": "Madrid", "code": "28013", "country": "ES" } ] } }, "lines": [ { "quantity": "20", "item": { "name": "Services rendered", "price": "200.00" }, "taxes": [ { "cat": "VAT", "rate": "standard" } ] } ], "payment": { "terms": { "key": "due-date", "due_dates": [ { "date": "2021-12-30", "amount": "4840.00", "percent": "100%" } ] }, "instructions": { "key": "credit-transfer", "credit_transfer": [ { "iban": "ES25 0188 2570 7185 4470 4761", "name": "Bankrandom" } ] } } } ``` -------------------------------- ### Verifactu Integration Workflow Example Source: https://docs.invopop.com/guides/stripe This workflow demonstrates the integration with Verifactu for generating and sending documents in Spain. It includes steps for Verifactu generation and sending, PDF generation, and state management. ```json { "id": "fc307c60-139b-11f0-b939-af2e8ae705ac", "name": "Generate Verifactu (Spain)", "provider": "verifactu.generate" }, { "id": "fe479c90-139b-11f0-b939-af2e8ae705ac", "name": "Send Verifactu (Spain)", "provider": "verifactu.send" }, { "id": "86a5b230-139b-11f0-b939-af2e8ae705ac", "name": "Generate PDF", "provider": "pdf", "summary": "Spanish - A4", "config": { "date_format": "%Y-%m-%d", "layout": "A4", "locale": "es", "logo_height": 40 } }, { "id": "8b321820-139b-11f0-b939-af2e8ae705ac", "name": "Set State", "provider": "silo.state", "summary": "Set state to `sent`.{state .sent}", "config": { "state": "sent" } } ``` -------------------------------- ### Update Invoice Exchange Rates (JSON Example) Source: https://docs.invopop.com/guides/update-exchange-rates Demonstrates the structure of an invoice JSON before and after the 'Update Exchange Rates' step is applied. The 'exchange_rates' field is populated with 'from', 'to', 'at', and 'amount' details. ```json { "$schema": "https://gobl.org/draft-0/bill/invoice", "$regime": "ES", "uuid": "019006f8-67cc-7000-99ce-40969ed20a9e", "type": "standard", "code": "", "issue_date": "2022-04-29", "currency": "USD", "exchange_rates": [ { "from": "USD", "to": "EUR", "amount": "0.9" } ], ... } ``` ```json { "$schema": "https://gobl.org/draft-0/bill/invoice", "$regime": "ES", "uuid": "019006f8-67cc-7000-99ce-40969ed20a9e", "type": "standard", "code": "", "issue_date": "2022-04-29", "currency": "USD", "exchange_rates": [ { "from": "USD", "to": "EUR", "at": "2022-04-29T00:00:00", "amount": "0.94877" } ], ... } ``` -------------------------------- ### Replacement Invoice (Factura de Canje) JSON Example Source: https://docs.invopop.com/guides/es-verifactu This JSON object illustrates a replacement invoice ('factura de canje') in GOBL for the Spanish regime. It includes the 'replacement' tag in the tax section and references a preceding invoice. ```json { "$schema": "https://gobl.org/draft-0/bill/invoice", "$regime": "ES", "$addons": [ "es-verifactu-v1" ], "type": "standard", "tax": { "tags": [ "replacement" ] }, "series": "FC", "issue_date": "2026-02-26", "currency": "EUR", "preceding": [ { ``` -------------------------------- ### Corrective Invoice (Rectificativa por Sustitución) JSON Example Source: https://docs.invopop.com/guides/es-verifactu This JSON object demonstrates a corrective invoice in GOBL, specifically a 'rectificativa por sustitución' for the Spanish regime. It references a preceding standard invoice and details the corrections made. ```json { "$schema": "https://gobl.org/draft-0/bill/invoice", "$regime": "ES", "$addons": [ "es-verifactu-v1" ], "type": "corrective", "series": "CO", "issue_date": "2025-05-29", "currency": "EUR", "preceding": [ { "uuid": "3aea7b56-59d8-4beb-90bd-f8f280d852a0", "type": "standard", "issue_date": "2024-11-13", "series": "SAMPLE", "code": "004", "tax": { "categories": [ { "code": "VAT", "rates": [ { "key": "standard", "ext": { "es-verifactu-op-class": "S1", "es-verifactu-regime": "01" }, "base": "1800.00", "percent": "21.0%", "amount": "378.00" } ], "amount": "378.00" } ], "sum": "378.00" } } ], "tax": { "ext": { "es-verifactu-correction-type": "S", "es-verifactu-doc-type": "R1" } }, "supplier": { "name": "Invopop S.L.", "tax_id": { "country": "ES", "code": "B85905495" }, "addresses": [ { "num": "42", "street": "Calle Pradillo", "locality": "Madrid", "region": "Madrid", "code": "28002", "country": "ES" } ] }, "customer": { "name": "Sample Consumer", "tax_id": { "country": "ES", "code": "B63272603" } }, "lines": [ { "i": 1, "quantity": "20", "item": { "name": "Development services", "price": "90.00", "unit": "h" }, "sum": "1800.00", "taxes": [ { "cat": "VAT", "key": "standard", "rate": "general", "percent": "21.0%", "ext": { "es-verifactu-op-class": "S1", "es-verifactu-regime": "01" } } ], "total": "1800.00" } ], "totals": { "sum": "1800.00", "total": "1800.00", "taxes": { "categories": [ { "code": "VAT", "rates": [ { "key": "standard", "ext": { "es-verifactu-op-class": "S1", "es-verifactu-regime": "01" }, "base": "1800.00", "percent": "21.0%", "amount": "378.00" } ], "amount": "378.00" } ], "sum": "378.00" }, "tax": "378.00", "total_with_tax": "2178.00", "payable": "2178.00" } } ```