Skip to main content

Customer & Supplier Directory

The directory is your master contact book — Customers for AR (outbound invoices) and Suppliers for AP (inbound bills). It stores Peppol IDs, tax IDs, default currencies, and payment terms so you don't re-enter them on every invoice.


Customers

Customers are your invoice recipients. The customer directory feeds the AR invoice creation flow — selecting a customer auto-fills their Peppol ID, tax ID, and payment terms.

Seed from invoice history

If you've been sending invoices, import all existing buyers in one call:

curl -X POST https://api.invostaq.com/api/customers/seed-from-invoices \
-H "Authorization: Bearer {token}"
{ "created": 12, "skipped": 3, "total": 15 }

The seed is idempotent — running it twice won't create duplicates. Matches on Tax ID first, then name.

Create manually

curl -X POST https://api.invostaq.com/api/customers \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Europe GmbH",
"taxId": "DE123456789",
"peppolId": "0204:123456789",
"defaultCurrencyCode": "EUR",
"defaultPaymentTermsDays": 30,
"countryCode": "DE"
}'

Import via CSV

Upload a CSV with header row: Name,TaxId,PeppolId,Email,Phone,DefaultCurrencyCode,DefaultPaymentTermsDays,CountryCode

curl -X POST https://api.invostaq.com/api/customers/import \
-H "Authorization: Bearer {token}" \
-F "file=@customers.csv"

Suppliers

Suppliers are your vendors. The supplier directory feeds AP bill processing — Peppol lookup status is tracked per supplier.

Seed from invoice history

curl -X POST https://api.invostaq.com/api/suppliers/seed-from-invoices \
-H "Authorization: Bearer {token}"

Create manually

curl -X POST https://api.invostaq.com/api/suppliers \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"name": "Cloud Solutions BV",
"taxId": "NL123456789B01",
"countryCode": "NL",
"defaultGlAccountCode": "61.00",
"networkStatus": "Reachable"
}'

defaultGlAccountCode is used to auto-populate AP coding when bills from this supplier arrive. It's a freeform string — any valid GL code in your chart of accounts.

Import via CSV

Required: CompanyName,CountryCode,TaxId. Optional: Email,Phone,DefaultGlAccountCode.

curl -X POST https://api.invostaq.com/api/suppliers/import \
-H "Authorization: Bearer {token}" \
-F "file=@suppliers.csv"

Authentication

All directory endpoints require Bearer JWT (your Entra ID session token). These are internal endpoints — not available via API key. See Authentication for details.