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.