Invoice RadarInvoice Radar
Export

Webhook

Send invoice data to any HTTP endpoint for custom integrations

Overview

The Webhook integration sends your invoice data to any HTTP endpoint. This is perfect for custom integrations, automation workflows, or connecting to services not directly supported by Invoice Radar.

Requirements

  • An HTTP endpoint that accepts POST requests
  • The endpoint must be publicly accessible (or accessible from your device)

Setup

Configuring in Invoice Radar

  1. Open Invoice Radar and go to Settings → Export
  2. Click Add destination and select Webhook
  3. Enter your configuration:
    • Webhook URL - Your HTTP endpoint (must be HTTPS)
    • Custom Headers (optional) - Authentication headers, API keys, etc.
  4. Choose a start date:
    • All invoices - Export everything in your collection
    • From specific date - Only export invoices after the selected date
  5. Click Test Webhook to validate your endpoint
  6. Enable the destination

Request format

Invoice Radar sends a POST request to your webhook URL for each invoice:

Headers

Content-Type: application/json

Plus any custom headers you configure (e.g., Authorization, X-API-Key).

Body

{
  "type": "invoice",
  "amount": 1499.99,
  "currency": "EUR",
  "id": "INV-2025-001",
  "vendor": "Example Vendor",
  "date": "2025-11-12",
  "pdfBase64": "JVBERi0xLjQK..."
}
FieldTypeDescription
typestringDocument type (invoice, refund, etc.)
amountnumberInvoice amount
currencystringCurrency code (e.g., EUR, USD)
idstringInvoice identifier
vendorstringVendor/company name
datestringInvoice date (YYYY-MM-DD format)
pdfBase64stringPDF file as base64-encoded string

Response handling

Your endpoint should respond with an HTTP status code:

StatusMeaning
200-299Success - invoice marked as exported
4xxClient error - invoice marked as failed
5xxServer error - invoice marked as failed, will retry
TimeoutAfter 30 seconds - invoice marked as failed, will retry

Failed invoices are automatically retried during future exports.

Use cases

Automation platforms

Connect to automation tools like:

  • Zapier - Use Webhooks by Zapier trigger
  • n8n - Use the Webhook node
  • Make (formerly Integromat) - Use Custom Webhook trigger
  • Pipedream - Use HTTP trigger

Custom business logic

  • Store invoices in your own database
  • Trigger internal workflows
  • Send to unsupported accounting systems
  • Custom data processing and enrichment

Internal systems

  • Forward to internal APIs
  • Integration with ERP systems
  • Custom document management

Example implementations

n8n workflow

  1. Create a new workflow with a Webhook node
  2. Copy the webhook URL to Invoice Radar
  3. Add processing nodes (e.g., decode base64, save file, update database)
  4. Activate the workflow

Simple Node.js server

const express = require('express');
const app = express();

app.use(express.json({ limit: '50mb' }));

app.post('/invoice-webhook', (req, res) => {
  const { vendor, id, amount, currency, date, pdfBase64 } = req.body;

  console.log(`Received invoice ${id} from ${vendor}`);
  console.log(`Amount: ${amount} ${currency}, Date: ${date}`);

  // Decode and save PDF
  const pdfBuffer = Buffer.from(pdfBase64, 'base64');
  // ... save to disk or process further

  res.status(200).json({ received: true });
});

app.listen(3000);

Exporting invoices

Bulk export

Click Export Now in the Export settings to sync all unsynced invoices. Progress is shown in real-time.

Individual export

Open any invoice in the document details panel to see its export status and manually trigger an export.

Troubleshooting

"Test failed" error

  • Verify your webhook URL is correct and publicly accessible
  • Check that your endpoint accepts POST requests
  • Verify any authentication headers are correct

Connection timeout

  • Ensure your endpoint responds within 30 seconds
  • Check that your server is running and accessible
  • Verify no firewall is blocking the connection

Authentication errors

  • Double-check custom header names and values
  • Ensure API keys or tokens haven't expired

Large invoices failing

  • The request body can be large due to base64-encoded PDFs
  • Ensure your server accepts payloads up to 50MB
  • Check your server's request size limits

Webhook returning 4xx/5xx errors

  • Check your server logs for the incoming request
  • Verify your endpoint logic is correct
  • Ensure your endpoint returns a 2xx status code on success

Security

  • Your webhook URL and headers are encrypted and stored only on your device
  • Requests are sent directly from your device to your endpoint
  • All connections use HTTPS/TLS encryption
  • Consider using authentication headers (API keys, tokens) to secure your endpoint

Need help? Check the Automatic Export overview or our Security & Privacy guide.

Webhook - Invoice Radar Docs