👋 How can we help?

All practical tips to grow your business with messaging.

All CollectionsIntegrationsREST API: Invoicing & Payments

REST API: Invoicing & Payments

Track invoices and payments via the REST API. Ideal for service businesses, freelancers, and custom billing systems.

Overview

The Invoicing & Payments API lets you send invoice and payment data to Bugalou from external billing systems. This is ideal for service businesses — architects, consultants, freelancers, ZZP'ers — who want to automate payment reminders and track invoice status in one dashboard. You need an API key to authenticate.

Authentication

Include your API key in every request:

  • X-API-Key: bg_live_your_key_here
  • Authorization: Bearer bg_live_your_key_here

Send Invoice Data

Use the Orders API endpoint with invoice-specific fields:

POST https://app.bugalou.com/api/v1/orders
X-API-Key: bg_live_your_key_here
Content-Type: application/json

{
  "platform": "custom",
  "orderNumber": "INV-2026-042",
  "orderStatus": "processing",
  "customerEmail": "klant@bedrijf.nl",
  "customerName": "Architectenbureau De Groot",
  "items": [
    {"name": "Ontwerp woning - fase 1", "quantity": 1, "price": "2500.00"},
    {"name": "Bouwtechnisch advies", "quantity": 3, "price": "150.00"}
  ],
  "total": "2950.00",
  "currency": "EUR",
  "paymentStatus": "pending",
  "invoiceNumber": "INV-2026-042",
  "invoiceUrl": "https://mijn-boekhouding.nl/facturen/INV-2026-042.pdf"
}

Update Payment Status

When a payment comes in, update the status by sending the same invoice/order number:

POST https://app.bugalou.com/api/v1/orders
X-API-Key: bg_live_your_key_here
Content-Type: application/json

{
  "platform": "custom",
  "orderNumber": "INV-2026-042",
  "orderStatus": "delivered",
  "paymentStatus": "paid",
  "paymentMethod": "bankoverschrijving",
  "amountPaid": "2950.00"
}

The order is upserted — it updates the existing record when orderNumber + platform match.

Invoice Fields Reference

FieldTypeRequiredDescription
platformstringYesUse "custom" or your billing tool name
orderNumberstringYesInvoice number (e.g. "INV-2026-042")
orderStatusstringYes"processing" (sent), "delivered" (paid), "cancelled"
customerEmailstringNoClient email address
customerNamestringNoClient or company name
itemsJSON arrayNoServices/products: [{name, quantity, price}]
totalstringNoInvoice total
currencystringNo"EUR", "USD", etc.
paymentStatusstringNo"pending", "paid", "overdue", "refunded"
paymentMethodstringNo"bankoverschrijving", "iDEAL", "Tikkie"
invoiceNumberstringNoInvoice reference
invoiceUrlstringNoLink to invoice PDF
amountPaidstringNoAmount actually paid

Automation Ideas

  • Payment reminder: Trigger a WhatsApp or email when an invoice is overdue
  • Payment confirmation: Automatically thank the client when paymentStatus changes to "paid"
  • Monthly overview: Use the API to sync invoices and view payment status in one dashboard

Who Is This For?

  • Architects and design firms tracking project invoices
  • Freelancers and ZZP'ers managing client billing
  • Consultants sending payment reminders
  • Any service business using tools like Moneybird, Exact, or custom invoicing

Response Format

Success: {"success": true, "order": {...}}

Error: {"error": "Invalid or expired API key"} (401/403)

REST API: Invoicing & Payments | Bugalou Help