Skip to main content

Quickstart Guide

Send your first Peppol invoice in under 5 minutes. This guide walks you through the essential steps to get started with GoRoute.

Prerequisitesโ€‹

  • A GoRoute account (sign up here)
  • Your business registered in the Peppol network (we handle this)
  • A test receiver to send invoices to

Step 1: Get Your API Keyโ€‹

  1. Log in to the GoRoute Dashboard
  2. Navigate to Settings โ†’ API Keys
  3. Click Create API Key
  4. Copy and save your key securely (it won't be shown again)
pk_goroute_abc123def456...
Keep it secret

Your API key provides full access to your organization. Never commit it to source control or expose it in client-side code.

Step 2: Test Your Connectionโ€‹

Verify your API key works:

curl -X GET https://app.goroute.ai/peppol-api/peppol/version \
-H "X-API-Key: YOUR_API_KEY"

Expected response:

{
"version": "1.0.0",
"peppol_ap_id": "POP000991",
"environment": "production",
"status": "operational"
}

Step 3: Check Receiver Existsโ€‹

Before sending, verify the receiver is on the Peppol network:

curl -X GET "https://app.goroute.ai/peppol-api/api/v1/participants/lookup?peppol_id=0204:DE123456789" \
-H "X-API-Key: YOUR_API_KEY"

Expected response:

{
"found": true,
"participant_id": "0204:DE123456789",
"name": "Customer GmbH",
"country": "DE",
"capabilities": [
"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice"
]
}

Step 4: Send Your First Invoiceโ€‹

Now send an invoice using the JSON format:

curl -X POST https://app.goroute.ai/peppol-api/api/v1/invoices \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"invoice_number": "INV-2026-001",
"issue_date": "2026-01-26",
"due_date": "2026-02-26",
"currency": "EUR",
"sender": {
"name": "Your Company",
"street": "123 Main Street",
"city": "Amsterdam",
"postal_code": "1012 AB",
"country": "NL",
"vat_number": "NL123456789B01",
"peppol_id": "0106:12345678"
},
"receiver": {
"name": "Customer GmbH",
"street": "456 Business Ave",
"city": "Berlin",
"postal_code": "10115",
"country": "DE",
"vat_number": "DE123456789",
"peppol_id": "0204:DE123456789"
},
"lines": [
{
"description": "Consulting Services - January 2026",
"quantity": 40,
"unit": "HUR",
"unit_price": 125.00,
"vat_rate": 19,
"vat_category": "S"
}
]
}'

Expected response:

{
"transaction_id": "txn_abc123def456",
"status": "accepted",
"invoice_number": "INV-2026-001",
"created_at": "2026-01-26T10:30:00Z",
"message": "Invoice accepted for delivery"
}

Step 5: Track Delivery Statusโ€‹

Check the delivery status:

curl -X GET https://app.goroute.ai/peppol-api/api/v1/transactions/txn_abc123def456 \
-H "X-API-Key: YOUR_API_KEY"

Expected response:

{
"transaction_id": "txn_abc123def456",
"status": "delivered",
"invoice_number": "INV-2026-001",
"delivered_at": "2026-01-26T10:30:15Z",
"events": [
{"status": "accepted", "timestamp": "2026-01-26T10:30:00Z"},
{"status": "validated", "timestamp": "2026-01-26T10:30:02Z"},
{"status": "sent", "timestamp": "2026-01-26T10:30:10Z"},
{"status": "delivered", "timestamp": "2026-01-26T10:30:15Z"}
]
}

๐ŸŽ‰ Congratulations!โ€‹

You've successfully sent your first Peppol invoice through GoRoute!

Next Stepsโ€‹

Using Python?โ€‹

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://app.goroute.ai/peppol-api"

response = requests.post(
f"{BASE_URL}/api/v1/invoices",
headers={"X-API-Key": API_KEY},
json={
"invoice_number": "INV-2026-001",
"issue_date": "2026-01-26",
"sender": {"name": "Your Company", "peppol_id": "0106:12345678"},
"receiver": {"name": "Customer", "peppol_id": "0204:DE123456789"},
"lines": [
{"description": "Service", "quantity": 1, "unit_price": 100.00, "vat_rate": 19}
]
}
)

print(response.json())

Need Help?โ€‹