Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Finland Invoices (Peppol BIS 3.0 via Storecove)

БесплатноНе проверен

Finland Peppol/Finvoice e-invoices for AI agents: send, check recipient, get delivery proof.

GitHubEmbed

Описание

Finland Peppol/Finvoice e-invoices for AI agents: send, check recipient, get delivery proof.

README

Use it in 60 seconds

Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):

{
  "mcpServers": {
    "finland-invoice": {
      "type": "http",
      "url": "https://inv-fi.wishpool.app/mcp"
    }
  }
}

Nothing to install. Credentials, when you need them, travel as HTTP headers on each request and are never stored — see the threat model.

Or run it yourself

Would you rather not send production credentials to a server you do not control? Deploy this identical code to your own account and point your agent at your own URL:

Deploy with Vercel

git clone https://github.com/junter1989k-ai/finland-invoice-mcp && cd finland-invoice-mcp && npx vercel --prod

MIT-licensed. Self-hosting removes us from the picture entirely, at no cost and with no loss of function.


Remote MCP server that lets any AI agent send Finland B2B/B2G electronic invoices (verkkolasku) over the Peppol network in Peppol BIS 3.0 / EN 16931 format via Storecove, a certified Peppol Access Point. It builds the structured invoice, computes the Finnish VAT (ALV) breakdown — including the 25.5% decimal standard rate — and delivers it under the merchant's own Storecove account. Stateless, bring-your-own credentials, never stores anything.

Live endpoint: https://inv-fi.wishpool.app/mcp · Registry: app.wishpool/finland-invoice-mcp

Why now — the Finnish mandate

Finland mandates structured e-invoicing (verkkolasku) for public-sector suppliers (B2G) since 2020-04-01. For B2B, a business has the right to require an e-invoice from another business (when turnover exceeds EUR 10,000) under the Act on Electronic Invoicing (241/2019) — a right to demand, not a blanket obligation to send. Peppol/Finvoice is the Finnish rail, so sending over Peppol now is future-proof.

The 25.5% decimal VAT rate

Finland's standard VAT (ALV) rate is 25.5% — a decimal rate, in force since 2024-09-01. This server's VAT math handles fractional rates. Valid rates: 25.5 (standard), 14 (food/restaurant), 10 (books/pharmaceuticals/passenger transport), 0 (zero-rated/exempt/reverse charge).

Quick start

{
  "mcpServers": {
    "finland-invoice": {
      "type": "http",
      "url": "https://inv-fi.wishpool.app/mcp",
      "headers": {
        "x-storecove-key": "your-storecove-api-key"
      }
    }
  }
}

Sign up at storecove.com — the merchant is the Peppol Access Point account holder. Request a free 30-day sandbox account from Storecove for a test key (sandbox does not need production onboarding). Create your sender under Senders to get the legalEntityId you pass as seller_legal_entity_id. Sandbox vs production is determined by the account your key belongs to — the base URL is the same. Authentication is HTTP Bearer with your key. Your key stays with you and travels per-request; this server never stores it.

Tools

Tool What it does
check_recipient Peppol participant discovery — is the buyer reachable on Peppol before you send? Pass the identifier (Y-tunnus scheme 0037, or VAT scheme 0213). Returns can_receive. The safe pre-flight.
create_invoice Build a Peppol BIS 3.0 invoice from seller + buyer (Finnish VAT FIxxxxxxxx / Y-tunnus business ID, address) and line items (description, net unit price, VAT rate 25.5/14/10/0, quantity), then submit over Peppol via Storecove. Returns a submission guid + computed VAT totals (taxable, vat, total).
get_delivery_evidence Fetch the proof of what was sent and the Peppol delivery status by guid.

Amounts are in EUR. Finnish VAT (ALV) rates: 25.5 (standard, decimal), 14 (food/restaurant), 10 (books/pharmaceuticals/passenger transport), 0 (zero-rated/exempt/reverse charge). Parties identified by Finnish VAT (FIxxxxxxxx) and/or Y-tunnus business ID (7+1 digits).

No cancel over Peppol — to reverse an invoice you issue a credit note (a new invoice). create_invoice needs seller_legal_entity_id (your Storecove sender id). Owner policy guardrails ride optional headers (x-agentpay-max-amount, x-agentpay-approval-above, x-agentpay-allowed-tools) — set by the human owner in client config; the agent cannot relax them.

VAT math (deterministic)

Per line amountExcludingVat = round2(quantity × unit_price); grouped by (rate, category) into taxSubtotals (taxableAmount, taxAmount = round2(taxable × rate / 100)); gross amountIncludingVat = taxable + tax. Examples (note the decimal 25.5% rate):

  • 100 + 50 both @25.5% → taxable 150.00 / vat 38.25 / total 188.25
  • 200 @25.5% + 100 @14% → taxable 300.00 / vat 65.00 (51 + 14) / total 365.00
  • 2×50 @25.5% + 3×10 @10% + 1×25 @0% → taxable 155.00 / vat 28.50 (25.50 + 3.00 + 0) / total 183.50
  • rounding at the decimal rate: 33.33 @25.5% → vat 8.50 (from 8.49915) / total 41.83

Endpoints wrapped (Storecove REST)

  • Base: https://api.storecove.com/api/v2 (single base URL; auth = HTTP Bearer with your API key)
  • Send: POST /document_submissions — JSON { legalEntityId, routing, document:{ documentType:"invoice", invoice:{…} } }{ guid }
  • Evidence: GET /document_submissions/{guid}/evidence — proof of what was sent + Peppol delivery status
  • Discovery: POST /discovery/receives — JSON { documentTypes, network, metaScheme, scheme, identifier }{ code:"OK", email }
  • Verified probe (2026-07-10): a fake Bearer key really hits api.storecove.com/api/v2403 {"errors":[{"source":"generic","details":"Not Authorized"}]} (endpoint alive; BYO = the merchant's own key validates).

Develop

node test/serve.js   # local server on :3238
node test/e2e.js     # VAT math (incl. 25.5% decimal) + Peppol JSON structure + protocol + validation + policy + fake-key live probe

Safety

Pure stateless translation layer over the Storecove REST API. Storecove is the certified Peppol Access Point under the merchant's own account; this service never signs, never onboards, and never stores anything. The API key travels per-request in a header, and funds are never touched — this issues tax invoices, it does not move money. Privacy policy.

Sister servers

Local invoices, one family: Belgium Peppol (inv-be) · Sweden Peppol (inv-se) · Italy FatturaPA (inv-it) · Malaysia MyInvois (inv-my) · Mexico CFDI (inv-mx) · Brazil NF-e (inv-br) · India GST (inv-in). Storecove also covers Norway, Denmark, the Netherlands and Luxembourg on Peppol — those sister countries replicate this exact server. Local logistics: logi.wishpool.app. Local payments in 81 countries: mcp.wishpool.app.

MIT licensed.

from github.com/junter1989k-ai/finland-invoice-mcp

Установка Finland Invoices (Peppol BIS 3.0 via Storecove)

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/junter1989k-ai/finland-invoice-mcp

FAQ

Finland Invoices (Peppol BIS 3.0 via Storecove) MCP бесплатный?

Да, Finland Invoices (Peppol BIS 3.0 via Storecove) MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Finland Invoices (Peppol BIS 3.0 via Storecove)?

Нет, Finland Invoices (Peppol BIS 3.0 via Storecove) работает без API-ключей и переменных окружения.

Finland Invoices (Peppol BIS 3.0 via Storecove) — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Finland Invoices (Peppol BIS 3.0 via Storecove) в Claude Desktop, Claude Code или Cursor?

Открой Finland Invoices (Peppol BIS 3.0 via Storecove) на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Finland Invoices (Peppol BIS 3.0 via Storecove) with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai