> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invopop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Finland

> Send and receive Finnish e-invoices across the domestic operator network and Peppol.

<Tabs>
  <Tab title="Description">
    <Columns cols="2">
      <div class="flex flex-col grow items-center justify-center">
        <Card title="Register suppliers" icon="https://assets.invopop.com/flags/fi.svg" href="/guides/fi-finvoice-supplier" horizontal>
          Supplier registration guide ›
        </Card>

        <Card title="Issue invoices" icon="https://assets.invopop.com/flags/fi.svg" href="/guides/fi-finvoice" horizontal>
          Issuing guide ›
        </Card>

        <Card title="Receive invoices" icon="https://assets.invopop.com/flags/fi.svg" href="/guides/fi-finvoice-receiving" horizontal>
          Receiving guide ›
        </Card>
      </div>

      |           |                                |
      | --------- | ------------------------------ |
      | Developer | [Invopop](https://invopop.com) |
      | Category  | Government                     |
      | Scope     | B2B, B2G                       |
      | Country   | [Finland](/compliance/finland) |
    </Columns>

    Finland has no government clearance system for invoices. Instead, e-invoices travel over two networks that run side by side: the domestic operator network, an unbranded mesh of accredited operators where around 370,000 companies receive their invoices as *Finvoice* or *TEAPPSXML*, and Peppol, with roughly 13,000 Finnish end users (about 0.24% of annual volume). Neither network alone covers Finnish receivers.

    Invopop has partnered with [Apix Messaging](https://www.apix.fi), an accredited Finnish operator, to cover both networks through one app: you send one GOBL invoice carrying the receiver's e-invoice address, and it is delivered as a compliant e-invoice in the format the receiver's network expects.

    Because the routing is resolved per receiver, you never pick a network. Use this app for every Finnish receiver, including the ones reachable on Peppol. Before anything is sent, the app checks how the receiver would be reached and refuses the invoice unless the answer is a networked e-invoice, naming the channel that would have been used instead.

    E-invoicing is mandatory for invoices to Finnish public bodies under Act 241/2019, and voluntary between businesses, though businesses above a EUR 10,000 turnover threshold have a statutory right to request e-invoices from their suppliers.

    #### Key features

    * **Workflow automation:** Register parties, issue invoices, and import received ones as steps in your workflows.
    * **Both networks through one app:** Domestic-network and Peppol receivers are reached through the same action, with routing resolved per receiver.
    * **Per-party provisioning:** Each registered party gets its own operator account and its own e-invoice address.
    * **Finvoice-safe validation:** The [`fi-finvoice-v3` addon](https://docs.gobl.org/addons/fi-finvoice-v3) requires the payment data Finvoice makes mandatory, so invoices that would fail conversion are rejected before they are sent.
    * **Reachability pre-check:** Receivers that would get paper, email, or a consumer bank channel are refused up front, never silently delivered another way.
    * **Invoice reception:** Each registered party's inbox is polled on a schedule and received invoices are imported automatically.

    Check out the guides below to get started:

    * [Supplier registration](/guides/fi-finvoice-supplier) · [Issuing invoices](/guides/fi-finvoice) · [Receiving invoices](/guides/fi-finvoice-receiving)

    ## FAQ

    Invoicing questions

    <AccordionGroup>
      <Accordion title="Can I invoice a Finnish business that isn't reachable on Peppol?">
        Yes. Most Finnish businesses receive e-invoices through the domestic operator network rather than Peppol, and the [Finland app](/apps/finland) reaches both: you send one GOBL invoice with the receiver's e-invoice address, and it is delivered in the format the receiver's network expects. There is no need to check which network the receiver is on.
      </Accordion>

      <Accordion title="Why does every Finnish invoice need bank account details?">
        Because in Finland an e-invoice doubles as a payment order. Finvoice was created by the banks (it's published by Finance Finland, the banking association) and grew out of the bank network, where the receiver approves the invoice for payment directly in their bank. That's why every Finvoice invoice, credit notes included, must carry the payment order: an IBAN, a payment reference, and a dated due date. Most Finnish receivers get their invoices as Finvoice, and one missing this data would fail on its way to the receiver, where we can't see it, so the [`fi-finvoice-v3` addon](https://docs.gobl.org/addons/fi-finvoice-v3) rejects it up front instead.
      </Accordion>

      <Accordion title="Why was my invoice refused before it was sent anywhere?">
        Three checks run before anything leaves the platform: the supplier must have an electronic address (`supplier-address-missing`), the invoice must carry a payment bank account (`payment-account-missing`), and the receiver must be reachable as a true e-invoice (`receiver-not-einvoice`). The last one matters most: receivers only reachable on paper, by email, or through the consumer bank channels (e-lasku, suoramaksu, Netposti) are rejected up front, with the channel the operator would have used named in the error, rather than quietly delivered another way.
      </Accordion>

      <Accordion title="What does a submission with an unknown outcome mean?">
        If the connection to the operator fails after the request may have already been written, we can't tell whether the invoice was accepted, and resubmitting could deliver it twice. The job reports the attempt with its timestamp under the `send-unconfirmed` code instead of retrying. Check with support before sending the invoice again.
      </Accordion>

      <Accordion title="How do I invoice the Finnish state?">
        Business-to-government is the segment where e-invoicing is mandatory in Finland, and the state applies its own reference conventions: order numbers must start with `V1`, agreement numbers with `VSK1`, and posting references with `TK1`, with at most one of each per invoice. Set the order number in `ordering.purchases` and the agreement number in `ordering.contracts` on the GOBL invoice. Invopop doesn't validate or normalise these prefixes, so format them exactly as the contracting authority provided them, or the state will reject the invoice.
      </Accordion>

      <Accordion title="What happens after the invoice is accepted?">
        The operator's synchronous accept is the final programmatic signal: there is no delivery status API to poll afterwards. If a receiving operator later rejects the invoice, that rejection arrives by email in production. No news after acceptance is good news.
      </Accordion>
    </AccordionGroup>

    Registering supplier questions

    <AccordionGroup>
      <Accordion title="How do I register a Finnish supplier?">
        Upload the supplier as a GOBL party with `tax_id.country = FI` and the Business ID (y-tunnus), then run the [Finland app](/apps/finland)'s registration workflow. Registration provisions the party its own operator account and allocates its e-invoice address — a party must be registered before it can send or receive anything. See the [supplier registration guide](/guides/fi-finvoice-supplier).
      </Accordion>

      <Accordion title="What Peppol scheme does Finland use for participant IDs?">
        Scheme `0216`, wrapping the party's OVT code — `0037` followed by the Business ID without its hyphen. Under Finland's Peppol Authority Specific Requirements, the OVT code is the mandatory participant identifier for Finnish organisations on Peppol. The `0037` at the start of the code itself is a country prefix, not the scheme.
      </Accordion>

      <Accordion title="What is a Finnish e-invoice address?">
        An OVT code: `0037` followed by the party's Business ID (y-tunnus) without its hyphen, sometimes with a five-character suffix for routing inside large organisations (for example `003726174164`). On Peppol, the same code is wrapped in scheme `0216` (`0216:003726174164`). You can look any counterparty up in the national registry at [verkkolaskuosoite.fi](https://verkkolaskuosoite.fi): since 2024 it mirrors the Peppol address list too, so one lookup covers both networks.
      </Accordion>

      <Accordion title="Which address form should I put on a party record?">
        The OVT code, as an inbox with scheme `0216`. Other forms circulate on the Finnish network (IBAN-style addresses from the older bank channel, operator-prefixed ones such as `TE0037…`), but the OVT code is the canonical form, and it's what the routing pre-check and the generated e-invoice use.
      </Accordion>

      <Accordion title="Why hasn't my party's registration completed yet?">
        Registration provisions the party its own account with the operator, and it only completes once every service is in force and the party's e-invoice address has been allocated on the operator's side. Until then the registration job stays queued rather than reporting success on an account that can't yet receive.
      </Accordion>

      <Accordion title="Can I register several Finnish parties in one workspace?">
        Yes. Each party gets its own operator account, its own e-invoice address, and its own reception polling schedule. Register each one separately by running the registration workflow on its party record.
      </Accordion>
    </AccordionGroup>

    Receiving questions

    <AccordionGroup>
      <Accordion title="How quickly do received invoices appear?">
        Reception is polled, not pushed: each registered party's inbox at the operator is swept on a schedule, every five minutes by default. Add the time the sender's own operator takes to deliver, and an invoice normally appears within minutes, but not instantly. If you're testing, allow up to a quarter of an hour before suspecting a problem.
      </Accordion>

      <Accordion title="What format do received invoices arrive in?">
        Each received document becomes one entry in your workspace carrying the GOBL invoice, the original XML as received from the network, and a PDF rendering, whatever format the sender issued.
      </Accordion>

      <Accordion title="What setup does receiving need?">
        Two things: the Finland app must be configured with a sync workflow and an import workflow, and the party must be registered. Registration checks the workflow configuration first, so set the workflows up before running it. Once registered, polling starts automatically; received invoices simply appear as new entries processed by your import workflow.
      </Accordion>
    </AccordionGroup>

    More answers in our [Finland FAQ](/faq/finland) section
  </Tab>

  <Tab title="Limitations">
    <Note>Production access is still being finalised with the operator, so the app currently runs against the operator's sandbox. The guides' sandbox and live tables reflect this.</Note>

    | Capability                   | Status                                       | Notes                                                                                             |
    | ---------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------- |
    | Party registration           | <Badge color="green">Available</Badge>       | Provisions a per-party operator account                                                           |
    | Invoice delivery             | <Badge color="green">Available</Badge>       | Both networks, routing resolved per receiver                                                      |
    | Invoice reception            | <Badge color="green">Available</Badge>       | Polled per registered party, five-minute default                                                  |
    | Delivery status tracking     | <Badge color="yellow">Not available</Badge>  | The synchronous accept is the final programmatic signal; later rejections arrive by email         |
    | Party deregistration         | <Badge color="yellow">In development</Badge> | Contact [support](mailto:support@invopop.com) to offboard a party                                 |
    | Invopop PDF for receivers    | <Badge color="yellow">In development</Badge> | Domestic-network receivers get the operator's PDF rendering                                       |
    | Delivered document retrieval | <Badge color="yellow">Not available</Badge>  | The Finvoice the operator delivers cannot be fetched back                                         |
    | B2G reference validation     | <Badge color="yellow">Not available</Badge>  | Format state references (`V1`, `VSK1`) yourself; posting references (`TK1`) cannot be carried yet |
  </Tab>

  <Tab title="Actions">
    The following workflow actions will be available once you install and enable this app:

    <Card title="Send invoice" icon="https://assets.invopop.com/flags/fi.svg" horizontal>
      <div class="pop-count"><Icon icon="https://assets.invopop.com/icons/pops.svg" /> 2</div>
      Deliver a signed GOBL invoice to the receiver's network as a compliant e-invoice. Checks the receiver is reachable as a true e-invoice before anything is sent.
    </Card>

    <Card title="Register party in Finland" icon="https://assets.invopop.com/flags/fi.svg" horizontal>
      <div class="pop-count"><Icon icon="https://assets.invopop.com/icons/pops.svg" /> 100</div>
      Provision the party its own operator account, activate its services, and allocate its e-invoice address. A party must be registered before it can send or receive.
    </Card>

    <Card title="Sync received invoices" icon="https://assets.invopop.com/flags/fi.svg" horizontal>
      Sweep a registered party's inbox at the operator and queue one import job for each new document. Runs automatically on the reception polling schedule.
    </Card>

    <Card title="Import received invoice" icon="https://assets.invopop.com/flags/fi.svg" horizontal>
      <div class="pop-count"><Icon icon="https://assets.invopop.com/icons/pops.svg" /> 3</div>
      Download one received document and convert it into a GOBL invoice, attaching the original XML and the PDF.
    </Card>
  </Tab>

  <Tab title="Workflows">
    Invoice workflows

    <AccordionGroup>
      <Accordion title="Finvoice send invoice">
        ```json Example Finvoice send invoice workflow theme={"system"}
        {
            "name": "Finvoice send invoice",
            "description": "Issue an invoice to a Finnish receiver",
            "schema": "bill/invoice",
            "steps": [
                {
                    "id": "bc138fa6-9172-11f1-b7bf-92000767c8b7",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `processing`{.state .processing}",
                    "config": {
                        "state": "processing"
                    }
                },
                {
                    "id": "bc177c32-9172-11f1-9d66-92000767c8b7",
                    "name": "Add sequential code",
                    "provider": "sequence.enumerate",
                    "summary": "Dynamic · Finvoice · 000001",
                    "config": {
                        "name": "Finvoice",
                        "padding": 6,
                        "start": 1
                    }
                },
                {
                    "id": "bc177d5b-9172-11f1-b7a4-92000767c8b7",
                    "name": "Sign envelope",
                    "provider": "silo.close"
                },
                {
                    "id": "bc177de4-9172-11f1-83e5-92000767c8b7",
                    "name": "Send invoice",
                    "provider": "gov-fi.send"
                },
                {
                    "id": "bc177e3d-9172-11f1-8812-92000767c8b7",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `sent`{.state .sent}",
                    "config": {
                        "state": "sent"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "bc177e9e-9172-11f1-8438-92000767c8b7",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>
    </AccordionGroup>

    Party workflows

    <AccordionGroup>
      <Accordion title="Finvoice register party">
        ```json Example Finvoice register party workflow theme={"system"}
        {
            "name": "Finvoice register party",
            "description": "Register a Finnish party so it can send and receive e-invoices",
            "schema": "org/party",
            "steps": [
                {
                    "id": "bc177ef2-9172-11f1-8c54-92000767c8b7",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `processing`{.state .processing}",
                    "config": {
                        "state": "processing"
                    }
                },
                {
                    "id": "bc177f3b-9172-11f1-8204-92000767c8b7",
                    "name": "Register party in Finland",
                    "provider": "gov-fi.register"
                },
                {
                    "id": "bc177f7d-9172-11f1-bb70-92000767c8b7",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `registered`{.state .registered}",
                    "config": {
                        "state": "registered"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "bc177fc4-9172-11f1-a165-92000767c8b7",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>
    </AccordionGroup>

    Reception workflows

    <AccordionGroup>
      <Accordion title="Finvoice sync received invoices">
        ```json Example Finvoice sync received invoices workflow theme={"system"}
        {
            "name": "Finvoice sync received invoices",
            "description": "Sweep a registered party's inbox at the operator and dispatch import jobs",
            "schema": "org/party",
            "steps": [
                {
                    "id": "bc178004-9172-11f1-b2b4-92000767c8b7",
                    "name": "Sync received invoices",
                    "provider": "gov-fi.sync"
                }
            ],
            "rescue": []
        }
        ```
      </Accordion>

      <Accordion title="Finvoice import invoice">
        ```json Example Finvoice import invoice workflow theme={"system"}
        {
            "name": "Finvoice import invoice",
            "description": "Import a received invoice",
            "schema": "bill/invoice",
            "steps": [
                {
                    "id": "bc178046-9172-11f1-ac3d-92000767c8b7",
                    "name": "Import received invoice",
                    "provider": "gov-fi.import"
                },
                {
                    "id": "bc178096-9172-11f1-90ae-92000767c8b7",
                    "name": "Set folder",
                    "provider": "silo.folder",
                    "summary": "Set folder to `Invoices · Expenses`{.font-medium}",
                    "config": {
                        "folder": "expenses"
                    }
                },
                {
                    "id": "bc1780dc-9172-11f1-b338-92000767c8b7",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `registered`{.state .registered}",
                    "config": {
                        "state": "registered"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "bc17811a-9172-11f1-ae07-92000767c8b7",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Documents">
    <AccordionGroup>
      <Accordion title="Finland supplier">
        A Finnish company with its Business ID (y-tunnus) as the tax ID and its e-invoice address as an inbox: the OVT code (`0037` plus the Business ID without its hyphen) under scheme `0216`.

        ```json Finland supplier example expandable theme={"system"}
        {
            "$schema": "https://gobl.org/draft-0/org/party",
            "name": "Aurora Ohjelmistot Oy",
            "tax_id": {
                "country": "FI",
                "code": "26174164"
            },
            "inboxes": [
                {
                    "key": "peppol",
                    "scheme": "0216",
                    "code": "003726174164"
                }
            ],
            "addresses": [
                {
                    "num": "12",
                    "street": "Mannerheimintie",
                    "locality": "Helsinki",
                    "code": "00100",
                    "country": "FI"
                }
            ],
            "emails": [
                {
                    "addr": "laskutus@auroraohjelmistot.fi"
                }
            ]
        }
        ```
      </Accordion>

      <Accordion title="Finland customer">
        The receiving side of a Finnish invoice, with the same identity shape as the supplier: y-tunnus tax ID and an OVT e-invoice address under scheme `0216`. Look receivers up at [verkkolaskuosoite.fi](https://verkkolaskuosoite.fi).

        ```json Finland customer example expandable theme={"system"}
        {
            "$schema": "https://gobl.org/draft-0/org/party",
            "name": "Pohjola Rakennus Oy",
            "tax_id": {
                "country": "FI",
                "code": "11223349"
            },
            "inboxes": [
                {
                    "key": "peppol",
                    "scheme": "0216",
                    "code": "003711223349"
                }
            ],
            "addresses": [
                {
                    "num": "8",
                    "street": "Hämeenkatu",
                    "locality": "Tampere",
                    "code": "33100",
                    "country": "FI"
                }
            ],
            "emails": [
                {
                    "addr": "ostolaskut@pohjolarakennus.fi"
                }
            ]
        }
        ```
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="Example B2B invoice">
        In this example, we're issuing a B2B invoice from a Finnish supplier to another Finnish business.

        Notice:

        * the `$addons` field is set to `fi-finvoice-v3`, which enforces the payment data Finvoice requires on every Finnish invoice,
        * both parties carry their e-invoice address as an inbox with scheme `0216` and an OVT code (`0037` followed by the Business ID without its hyphen),
        * the `payment` block carries an IBAN, a payment reference (an ISO 11649 `RF` reference here), and a dated due date; all three are required,
        * the invoice includes VAT at the standard Finnish rate of 25.5%, and,
        * there are no calculations in some fields; these will be made automatically when uploading.

        <CodeGroup>
          ```json Finland B2B invoice theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$addons": ["fi-finvoice-v3"],
            "type": "standard",
            "series": "SAMPLE",
            "code": "0042",
            "issue_date": "2026-08-01",
            "currency": "EUR",
            "supplier": {
              "name": "Aurora Ohjelmistot Oy",
              "tax_id": {
                "country": "FI",
                "code": "26174164"
              },
              "inboxes": [
                {
                  "key": "peppol",
                  "scheme": "0216",
                  "code": "003726174164"
                }
              ],
              "addresses": [
                {
                  "num": "12",
                  "street": "Mannerheimintie",
                  "locality": "Helsinki",
                  "code": "00100",
                  "country": "FI"
                }
              ]
            },
            "customer": {
              "name": "Pohjola Rakennus Oy",
              "tax_id": {
                "country": "FI",
                "code": "11223349"
              },
              "inboxes": [
                {
                  "key": "peppol",
                  "scheme": "0216",
                  "code": "003711223349"
                }
              ],
              "addresses": [
                {
                  "num": "8",
                  "street": "Hämeenkatu",
                  "locality": "Tampere",
                  "code": "33100",
                  "country": "FI"
                }
              ]
            },
            "lines": [
              {
                "quantity": "10",
                "item": {
                  "name": "Software development services",
                  "price": "85.00"
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "percent": "25.5%"
                  }
                ]
              }
            ],
            "payment": {
              "instructions": {
                "key": "credit-transfer",
                "ref": "RF1310023",
                "credit_transfer": [
                  {
                    "iban": "FI2112345600000785",
                    "bic": "NDEAFIHH"
                  }
                ]
              },
              "terms": {
                "due_dates": [
                  {
                    "date": "2026-08-15",
                    "percent": "100%"
                  }
                ]
              }
            }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FI",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fi-finvoice-v3"
          	],
          	"type": "standard",
          	"series": "SAMPLE",
          	"code": "0042",
          	"issue_date": "2026-08-01",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Aurora Ohjelmistot Oy",
          		"tax_id": {
          			"country": "FI",
          			"code": "26174164"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0216:003726174164"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0216",
          				"code": "003726174164"
          			}
          		],
          		"addresses": [
          			{
          				"num": "12",
          				"street": "Mannerheimintie",
          				"locality": "Helsinki",
          				"code": "00100",
          				"country": "FI"
          			}
          		]
          	},
          	"customer": {
          		"name": "Pohjola Rakennus Oy",
          		"tax_id": {
          			"country": "FI",
          			"code": "11223349"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0216:003711223349"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0216",
          				"code": "003711223349"
          			}
          		],
          		"addresses": [
          			{
          				"num": "8",
          				"street": "Hämeenkatu",
          				"locality": "Tampere",
          				"code": "33100",
          				"country": "FI"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "10",
          			"item": {
          				"name": "Software development services",
          				"price": "85.00",
          				"unit": "one"
          			},
          			"sum": "850.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"percent": "25.5%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "850.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"due_dates": [
          				{
          					"date": "2026-08-15",
          					"amount": "1066.75",
          					"percent": "100%"
          				}
          			]
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"ref": "RF1310023",
          			"credit_transfer": [
          				{
          					"iban": "FI2112345600000785",
          					"bic": "NDEAFIHH"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "850.00",
          		"total": "850.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "850.00",
          							"percent": "25.5%",
          							"amount": "216.75"
          						}
          					],
          					"amount": "216.75"
          				}
          			],
          			"sum": "216.75"
          		},
          		"tax": "216.75",
          		"total_with_tax": "1066.75",
          		"payable": "1066.75"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="Example B2G invoice">
        In this example, we're invoicing a Finnish public body, the segment where e-invoicing is mandatory.

        Notice:

        * the `ordering.purchases` code starts with `V1` and the `ordering.contracts` code starts with `VSK1`, following the Finnish state's reference conventions; the state rejects invoices that don't follow them,
        * there is at most one order number and one agreement number, as the state requires,
        * the payment reference here is a Finnish *viitenumero* (banking reference number), the domestic alternative to the `RF` form, and,
        * everything else works exactly like the B2B invoice, payment block included.

        <CodeGroup>
          ```json Finland B2G invoice theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$addons": ["fi-finvoice-v3"],
            "type": "standard",
            "series": "SAMPLE",
            "code": "0043",
            "issue_date": "2026-08-01",
            "currency": "EUR",
            "supplier": {
              "name": "Aurora Ohjelmistot Oy",
              "tax_id": {
                "country": "FI",
                "code": "26174164"
              },
              "inboxes": [
                {
                  "key": "peppol",
                  "scheme": "0216",
                  "code": "003726174164"
                }
              ],
              "addresses": [
                {
                  "num": "12",
                  "street": "Mannerheimintie",
                  "locality": "Helsinki",
                  "code": "00100",
                  "country": "FI"
                }
              ]
            },
            "customer": {
              "name": "Suomen Valtion Virasto",
              "tax_id": {
                "country": "FI",
                "code": "54321096"
              },
              "inboxes": [
                {
                  "key": "peppol",
                  "scheme": "0216",
                  "code": "003754321096"
                }
              ],
              "addresses": [
                {
                  "num": "1",
                  "street": "Snellmaninkatu",
                  "locality": "Helsinki",
                  "code": "00170",
                  "country": "FI"
                }
              ]
            },
            "ordering": {
              "purchases": [
                {
                  "code": "V12026001"
                }
              ],
              "contracts": [
                {
                  "code": "VSK12026001"
                }
              ]
            },
            "lines": [
              {
                "quantity": "1",
                "item": {
                  "name": "Consulting services, July 2026",
                  "price": "4500.00"
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "percent": "25.5%"
                  }
                ]
              }
            ],
            "payment": {
              "instructions": {
                "key": "credit-transfer",
                "ref": "100230",
                "credit_transfer": [
                  {
                    "iban": "FI2112345600000785",
                    "bic": "NDEAFIHH"
                  }
                ]
              },
              "terms": {
                "due_dates": [
                  {
                    "date": "2026-08-31",
                    "percent": "100%"
                  }
                ]
              }
            }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FI",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fi-finvoice-v3"
          	],
          	"type": "standard",
          	"series": "SAMPLE",
          	"code": "0043",
          	"issue_date": "2026-08-01",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Aurora Ohjelmistot Oy",
          		"tax_id": {
          			"country": "FI",
          			"code": "26174164"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0216:003726174164"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0216",
          				"code": "003726174164"
          			}
          		],
          		"addresses": [
          			{
          				"num": "12",
          				"street": "Mannerheimintie",
          				"locality": "Helsinki",
          				"code": "00100",
          				"country": "FI"
          			}
          		]
          	},
          	"customer": {
          		"name": "Suomen Valtion Virasto",
          		"tax_id": {
          			"country": "FI",
          			"code": "54321096"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0216:003754321096"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0216",
          				"code": "003754321096"
          			}
          		],
          		"addresses": [
          			{
          				"num": "1",
          				"street": "Snellmaninkatu",
          				"locality": "Helsinki",
          				"code": "00170",
          				"country": "FI"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"name": "Consulting services, July 2026",
          				"price": "4500.00",
          				"unit": "one"
          			},
          			"sum": "4500.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"percent": "25.5%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "4500.00"
          		}
          	],
          	"ordering": {
          		"contracts": [
          			{
          				"code": "VSK12026001"
          			}
          		],
          		"purchases": [
          			{
          				"code": "V12026001"
          			}
          		]
          	},
          	"payment": {
          		"terms": {
          			"due_dates": [
          				{
          					"date": "2026-08-31",
          					"amount": "5647.50",
          					"percent": "100%"
          				}
          			]
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"ref": "100230",
          			"credit_transfer": [
          				{
          					"iban": "FI2112345600000785",
          					"bic": "NDEAFIHH"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "4500.00",
          		"total": "4500.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "4500.00",
          							"percent": "25.5%",
          							"amount": "1147.50"
          						}
          					],
          					"amount": "1147.50"
          				}
          			],
          			"sum": "1147.50"
          		},
          		"tax": "1147.50",
          		"total_with_tax": "5647.50",
          		"payable": "5647.50"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="Example credit note">
        In this example, we're issuing a credit note that corrects a previously issued invoice.

        Notice:

        * the `type` is set to `credit-note`,
        * the `preceding` array references the original invoice by its `series`, `code`, and `issue_date`, along with a `reason`,
        * the `payment` block is still present and complete; Finvoice requires the payment data on credit notes too, unlike most other European formats, and,
        * there are no calculations in some fields; these will be made automatically when uploading.

        <CodeGroup>
          ```json Finland credit note theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$addons": ["fi-finvoice-v3"],
            "type": "credit-note",
            "series": "SAMPLE-CN",
            "code": "0007",
            "issue_date": "2026-08-05",
            "currency": "EUR",
            "preceding": [
              {
                "series": "SAMPLE",
                "code": "0042",
                "issue_date": "2026-08-01",
                "reason": "Partial refund for undelivered services"
              }
            ],
            "supplier": {
              "name": "Aurora Ohjelmistot Oy",
              "tax_id": {
                "country": "FI",
                "code": "26174164"
              },
              "inboxes": [
                {
                  "key": "peppol",
                  "scheme": "0216",
                  "code": "003726174164"
                }
              ],
              "addresses": [
                {
                  "num": "12",
                  "street": "Mannerheimintie",
                  "locality": "Helsinki",
                  "code": "00100",
                  "country": "FI"
                }
              ]
            },
            "customer": {
              "name": "Pohjola Rakennus Oy",
              "tax_id": {
                "country": "FI",
                "code": "11223349"
              },
              "inboxes": [
                {
                  "key": "peppol",
                  "scheme": "0216",
                  "code": "003711223349"
                }
              ],
              "addresses": [
                {
                  "num": "8",
                  "street": "Hämeenkatu",
                  "locality": "Tampere",
                  "code": "33100",
                  "country": "FI"
                }
              ]
            },
            "lines": [
              {
                "quantity": "2",
                "item": {
                  "name": "Software development services",
                  "price": "85.00"
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "percent": "25.5%"
                  }
                ]
              }
            ],
            "payment": {
              "instructions": {
                "key": "credit-transfer",
                "ref": "RF1310023",
                "credit_transfer": [
                  {
                    "iban": "FI2112345600000785",
                    "bic": "NDEAFIHH"
                  }
                ]
              },
              "terms": {
                "due_dates": [
                  {
                    "date": "2026-08-19",
                    "percent": "100%"
                  }
                ]
              }
            }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FI",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fi-finvoice-v3"
          	],
          	"type": "credit-note",
          	"series": "SAMPLE-CN",
          	"code": "0007",
          	"issue_date": "2026-08-05",
          	"currency": "EUR",
          	"preceding": [
          		{
          			"issue_date": "2026-08-01",
          			"series": "SAMPLE",
          			"code": "0042",
          			"reason": "Partial refund for undelivered services"
          		}
          	],
          	"tax": {
          		"ext": {
          			"untdid-document-type": "381"
          		}
          	},
          	"supplier": {
          		"name": "Aurora Ohjelmistot Oy",
          		"tax_id": {
          			"country": "FI",
          			"code": "26174164"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0216:003726174164"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0216",
          				"code": "003726174164"
          			}
          		],
          		"addresses": [
          			{
          				"num": "12",
          				"street": "Mannerheimintie",
          				"locality": "Helsinki",
          				"code": "00100",
          				"country": "FI"
          			}
          		]
          	},
          	"customer": {
          		"name": "Pohjola Rakennus Oy",
          		"tax_id": {
          			"country": "FI",
          			"code": "11223349"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0216:003711223349"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0216",
          				"code": "003711223349"
          			}
          		],
          		"addresses": [
          			{
          				"num": "8",
          				"street": "Hämeenkatu",
          				"locality": "Tampere",
          				"code": "33100",
          				"country": "FI"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "2",
          			"item": {
          				"name": "Software development services",
          				"price": "85.00",
          				"unit": "one"
          			},
          			"sum": "170.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"percent": "25.5%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "170.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"due_dates": [
          				{
          					"date": "2026-08-19",
          					"amount": "213.35",
          					"percent": "100%"
          				}
          			]
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"ref": "RF1310023",
          			"credit_transfer": [
          				{
          					"iban": "FI2112345600000785",
          					"bic": "NDEAFIHH"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "170.00",
          		"total": "170.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "170.00",
          							"percent": "25.5%",
          							"amount": "43.35"
          						}
          					],
          					"amount": "43.35"
          				}
          			],
          			"sum": "43.35"
          		},
          		"tax": "43.35",
          		"total_with_tax": "213.35",
          		"payable": "213.35"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>

    Copy and paste these documents into the [GOBL builder](https://build.gobl.org) in order to preview and verify them.
  </Tab>
</Tabs>

***

<AccordionGroup>
  <Accordion title="🇫🇮 Invopop resources for Finland">
    |            |                                                                                                                                                                                                                                                                                        |
    | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Compliance | <Icon icon="https://assets.invopop.com/flags/fi.svg" /> [Invoicing compliance in Finland](/compliance/finland)<br /> <Icon icon="timeline" /> [Compliance timeline](/timelines/finland)                                                                                                |
    | Apps       | <Icon icon="https://assets.invopop.com/flags/fi.svg" /> [Finland](/apps/finland)<br /> <Icon icon="https://assets.invopop.com/apps/peppol/icon.svg" /> [Peppol](/apps/peppol)                                                                                                          |
    | Guides     | <Icon icon="book" /> [Supplier registration](/guides/fi-finvoice-supplier)<br /> <Icon icon="book" /> [Issuing invoices](/guides/fi-finvoice)<br /> <Icon icon="book" /> [Receiving invoices](/guides/fi-finvoice-receiving)<br /> <Icon icon="book" /> [Peppol guide](/guides/peppol) |
    | FAQ        | <Icon icon="square-question" /> [Finland FAQ](/faq/finland)                                                                                                                                                                                                                            |
    | GOBL       | <Icon icon="https://assets.invopop.com/icons/gobl.svg" /> [Finland Tax Regime](https://docs.gobl.org/regimes/fi)<br /> <Icon icon="https://assets.invopop.com/icons/gobl.svg" /> [EU EN 16931 Addon](https://docs.gobl.org/addons/eu-en16931-v2017)                                    |
    | GitHub     | <Icon icon="github" /> [gobl.fi.finvoice](https://github.com/invopop/gobl.fi.finvoice)<br /> <Icon icon="github" /> [gobl.ubl](https://github.com/invopop/gobl.ubl)                                                                                                                    |
  </Accordion>
</AccordionGroup>

<Card title="Participate in our community" icon="forumbee" href="https://community.invopop.com" arrow="true" horizontal>
  Ask and answer questions about the Finland app →
</Card>
