Date: 2026-04-01 Product: Agicap (https://agicap.com) Purpose: Evaluate full API surface for Orcha integration — invoice posting, pre-accounting, payment reconciliation Status: Research complete. Blocked on Agicap connection provisioning for live testing.
Agicap's public API is more capable than initially documented. Through a combination of official documentation, reverse-engineering, and OpenAPI spec extraction, we have mapped the complete API surface across all 5 API modules.
Key findings:
| Module | Version | Base Path | Purpose |
|---|---|---|---|
| Auth | v1 | /public/auth/v1/ |
OAuth2 client_credentials token |
| Organizations | v1 | /public/organizations/v1/ |
List entities in an org |
| Treasury Bank Journal | v1 | /public/treasury-bank-journal/v1/ |
Export bank accounting entries (structured JSON) |
| Banking Documents | v1 | /public/banking-documents/v1/ |
Import/export raw bank files (CAMT.053, MT940, etc.) |
| Business Documents | v2 | /public/business-documents/v2/ |
Write invoices, POs, credit notes |
| Card Expenses Bank Journal | v1 | /public/card-expenses-bank-journal/v1/ |
Export card expense accounting entries |
| Payments | v2 | /public/payments/v2/ |
Route payment files to bank + manage beneficiaries |
Hosts:
https://api.agicap.com — Public API (all modules)https://api.agicap.internal — Internal (listed in OpenAPI specs, not accessible)https://openapi.agicap.com — Legacy partner endpointhttps://app.agicap.com/api — Internal application API (undocumented)POST https://api.agicap.com/public/auth/v1/token (or https://myaccount.agicap.com/connect/token per newer specs)client_credentialsapplication/x-www-form-urlencodedagicap:public-api — General API accesspublic-api:import_payment_files — Payment file routingpublic-api:import_payment_files_with_signed_beneficiaries — Secured payment routingpublic-api:manage-payment-beneficiaries — Beneficiary CRUDhttps://app.agicap.com/fr/app/organization-advanced-settings/public-api/clientsWe extracted the complete OpenAPI 3.0 JSON specs for all modules from the developer portal. These are the authoritative API references:
| Module | Source | Status |
|---|---|---|
| Treasury Bank Journal v1 | Extracted from developer portal | Complete — full schemas with examples |
| Banking Documents v1 | Extracted from developer portal | Complete |
| Payments v2 | Extracted from developer portal | Complete |
| Business Documents v2 | Extracted from developer portal | Complete — full schemas with examples |
| Card Expenses Bank Journal v1 | Extracted from developer portal | Complete |
| Auth v1 | Documented in PDF guide | Sufficient |
| Organizations v1 | Referenced in other specs | Sufficient |
https://api.agicap.com/https://api.agicap.com/treasury-bank-journal/detailed_documentation.pdfhttps://www.postman.com/agicap-data-int/agicap-public/Purpose: Export bank accounting entries as structured JSON for ERP/accounting system import.
Source: OpenAPI spec extracted from developer portal (complete, with examples).
| Method | Path | Description |
|---|---|---|
| GET | .../entities/{entityId}/exports |
List export history (summaries, no entries) |
| GET | .../entities/{entityId}/exports/{exportId} |
Get a specific export with all entries |
| POST | .../entities/{entityId}/exports/{exportId} |
Trigger new export (moves "Ready to export" → "Exported") |
| POST | .../entities/{entityId}/exported-bank-journal-entries/mark-as-imported |
Confirm entries were imported into ERP |
| POST | .../entities/{entityId}/exported-bank-journal-entries/mark-as-not-imported |
Report import errors back to Agicap |
ExportedBankJournalEntryDto)Each bank journal entry represents a confirmed bank transaction (money has moved).
Entry-level fields (bank side):
| Field | Type | Required | Description |
|---|---|---|---|
agicapUniqueId |
uuid | YES | Unique tracking ID |
paymentDate |
date | YES | Actual bank transaction date |
name |
string | YES | Entry title (e.g. "ACME Payment") |
bankAccountName |
string | YES | Bank account name |
accountingAccountNumber |
string | YES | Bank GL account (e.g. "201.01000") |
accountingCurrency |
string | YES | ISO 4217 currency |
originalCurrency |
string | YES | ISO 4217 currency |
debitInOriginalCurrency |
double | — | Debit in original currency |
creditInOriginalCurrency |
double | — | Credit in original currency |
debitInAccountingCurrency |
double | — | Debit in accounting currency |
creditInAccountingCurrency |
double | — | Credit in accounting currency |
journalCode |
string | — | Journal code |
exportEntryReference |
string | YES | Max 8 chars, ERP-compatible reference |
entryMemo |
string | — | Free-text memo |
causale |
string | — | Banking transaction causale (Italian banking) |
type |
string | YES | BANK or TRANSITIONAL |
indexInYear |
int | YES | Sequential index in current year |
indexInExport |
int | YES | Sequential index in this export |
Counterpart fields (invoice/supplier side) — counterparts[] array:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | YES | Counterpart title (e.g. "ACME Invoice 1") |
accountingAccountNumber |
string | YES | Counterpart GL account |
accountingAccountType |
enum | YES | SUPPLIER, CLIENT, EXPENSE, PRODUCT, VAT, BANK, OTHER |
originalCurrency |
string | YES | ISO 4217 |
analyticalCodes |
map | YES | Analytical dimensions (Agicap's term for cost centers/projects — called "dimensions" in the UI) as key-value pairs where keys are user-defined axes (e.g. {"Country":"FR","Project":"Marketing"}) |
thirdPartyName |
string | — | Supplier/client name |
thirdPartyCode |
string | — | Supplier/client code |
thirdPartyExternalId |
string | — | ERP-specific supplier ID |
debitInOriginalCurrency |
double | — | Amount |
creditInOriginalCurrency |
double | — | Amount |
debitInAccountingCurrency |
double | — | Amount |
creditInAccountingCurrency |
double | — | Amount |
journalCode |
string | — | Journal code |
taxKey |
string | — | VAT tax key |
customFields |
array | — | Key-value pairs (e.g. ERP id, division) |
Document fields (nested in counterpart) — document object:
| Field | Type | Required | Description |
|---|---|---|---|
documentReference |
string | — | Invoice number (e.g. "INV-2025-0001") |
documentType |
string | YES | SUPPLIER_INVOICE, CLIENT_INVOICE, SUPPLIER_CREDIT_NOTE, CLIENT_CREDIT_NOTE, PURCHASE_ORDER, etc. |
externalId |
string | — | Source system document ID (e.g. Orcha's ID) |
originalDueDate |
date | YES | Invoice due date |
documentIssueDate |
datetime | — | Invoice issue date |
uniqueId |
string | YES | 8-char Agicap document ID |
When reporting import errors via mark-as-not-imported, typed error categories are:
UNKNOWN_JOURNAL_CODEUNKNOWN_ACCOUNTING_ACCOUNTUNKNOWN_THIRD_PARTYUNKNOWN_ANALYTICAL_CODEOTHERBank executes payment
→ Bank sends statement to Agicap (via EBICS/SWIFT/PSD2)
→ Agicap ingests statement, matches to invoices
→ Entry becomes "Ready to export"
→ Orcha calls POST /exports/{exportId}
→ Orcha receives structured JSON with:
- paymentDate (actual bank transaction date)
- amounts (debit/credit in original + accounting currency)
- counterparts with:
- supplier name + code + external ID
- invoice number (documentReference)
- source system ID (externalId) ← Orcha's own ID
- GL account + type
- cost centers (analyticalCodes)
- tax key
→ Orcha matches against its own invoice records
→ Orcha calls mark-as-imported or mark-as-not-imported
Timing: Entries appear 1-3 business days after payment execution (depends on bank statement delivery frequency).
Purpose: Import and export raw bank statement files to/from Agicap.
Source: OpenAPI spec extracted from developer portal (complete).
| Method | Path | Description |
|---|---|---|
| GET | .../connections |
List banking connections (PUBLIC_API, SWIFT, EBICS, EDITRAN, KONFIPAY) |
| POST | .../connections |
Create a new banking connection |
| DELETE | .../connections/{connectionId} |
Delete a connection |
| GET | .../connections/{connectionId}/files |
List bank files (filterable by type, format, date) |
| POST | .../connections/{connectionId}/files |
Push a bank file into Agicap |
| GET | .../connections/{connectionId}/files/{fileId} |
Download a bank file |
| DELETE | .../connections/{connectionId}/files/{fileId} |
Delete a bank file (irreversible) |
| GET | .../connections/{connectionId}/statements |
List statements (filterable, with duplicate detection) |
| GET | .../connections/{connectionId}/statements/{statementId} |
Download a statement file |
| GET | .../connections/{connectionId}/account-reports |
List intraday account reports |
| GET | .../connections/{connectionId}/account-reports/{accountReportId} |
Download an account report |
| GET | .../organizations/{orgId}/bank-accounts |
List all bank accounts in the org |
Import: CAMT.053, CAMT.052, N43, CFONB120, MT940, CBI, BAI2, ZIP (containing multiple files)
Export: Files are returned in their original format.
"This API cannot be used to export banking data that is retrieved in Agicap via an Open Banking / PSD2 connection."
Only works for EBICS, SWIFT, EDITRAN, Host-to-Host, KONFIPAY, and PUBLIC_API connections.
This API is an alternative reconciliation path — download raw CAMT.053 files and parse them yourself. More work than using Treasury Bank Journal (which gives structured JSON), but gives you the raw bank data without Agicap's interpretation.
Purpose: Push invoices, POs, credit notes, quotes, and sales orders into Agicap for cash forecasting and receivables tracking.
Source: Official OpenAPI spec extracted from developer portal (complete, with examples).
All document types support GET (paginated list), POST (batch create), and PUT (batch update):
| Resource | GET | POST | PUT | Attach PDF |
|---|---|---|---|---|
supplier-invoices |
YES | YES | YES | YES (Beta) |
client-invoices |
YES | YES | YES | YES (Beta) |
supplier-credit-notes |
YES | YES | YES | YES (Beta) |
client-credit-notes |
YES | YES | YES | YES (Beta) |
purchase-orders |
YES | YES | YES | — |
sales-orders |
YES | YES | YES | — |
client-quotes |
YES | YES | YES | — |
proforma-invoices |
YES | YES | YES | — |
Additional endpoints:
POST .../connections — Create a new connection (requires Agicap back-office activation)GET .../connections — List connectionsPOST .../{id}/attach-readable — Upload PDF file to a document (Beta)DELETE .../{id}/unattach-readable — Remove PDF from a document (Beta)Required fields for create (CreateSupplierInvoiceDtoV2):
| Field | Type | Description |
|---|---|---|
externalId |
string | Unique ID in source system (Orcha's document ID) |
invoiceNumber |
string | Invoice number |
currency |
string | ISO 4217 currency code |
amounts.totalAmount |
double | Total amount (must be positive) |
amounts.taxesAmount |
double | Tax amount (must be positive) |
amounts.dueAmount |
double | Amount still due (must be positive) |
counterParty.id |
string | Supplier/client ID in source system |
counterParty.name |
string | Supplier/client name |
issueDate |
datetime | Issue date (ISO 8601) |
dueDate |
datetime | Due date (ISO 8601) |
status |
string | draft, due, paid, cancelled, deleted |
Accounting fields (optional, for pre-accounting):
| Field | Type | Description |
|---|---|---|
accounting.accountCode |
string | Third party account code (supplier/client account) |
accounting.accountNumber |
string | GL account number |
accounting.amount |
double | Amount in accounting currency |
accounting.currency |
string | Accounting currency (can differ from invoice currency) |
The accounting object is available on invoices and credit notes only (not on POs, quotes, or sales orders).
Optional fields:
| Field | Type | Description |
|---|---|---|
paymentDate |
datetime | Payment in full date |
expectedPaymentDate |
datetime | Expected payment date (separate from due date) |
label |
string | Display label in Agicap |
metadata |
map<string,string> | Additional key-value data |
erpIdentificationFields |
map<string,string> | ERP-specific identification data |
financingSolution |
string | Financing solution info (factoring) — client invoices only |
instalments[] |
array | Multiple payment instalments (see below) |
referenceInvoiceIds |
string[] | Link credit notes to invoices — credit notes only |
Instalment fields (instalments[] array):
| Field | Type | Required | Description |
|---|---|---|---|
externalId |
string | YES | Instalment ID in source system |
amounts.totalAmount |
double | YES | Instalment total |
amounts.taxesAmount |
double | YES | Instalment tax |
amounts.dueAmount |
double | YES | Instalment due amount |
status |
string | YES | draft, due, partiallyPaid, paid, cancelled, paymentInProgress |
dueDate |
datetime | — | Instalment due date |
paymentDate |
datetime | — | Instalment payment date |
paymentMethod |
string | — | Payment method (e.g. "Credit Card") |
label |
string | — | Instalment label |
accountingAmount.amount |
double | — | Accounting amount |
accountingAmount.currency |
string | — | Accounting currency |
metadata |
map | — | Additional data |
erpIdentificationFields |
map | — | ERP-specific data |
Status values by document type:
| Document Type | Statuses |
|---|---|
| Supplier/client invoices | draft, due, paid, cancelled, deleted |
| Credit notes | draft, available, used, cancelled, deleted |
| POs, quotes, sales orders, proformas | draft, sent, accepted, refused, expired, partiallyinvoiced, invoiced, cancelled, deleted |
The official spec confirms that pre-accounting data CAN be pushed via the accounting object on invoices and credit notes:
{
"externalId": "orcha-doc-uuid",
"invoiceNumber": "INV-2024-001",
"counterParty": { "id": "supplier-123", "name": "Lieferant GmbH" },
"currency": "EUR",
"amounts": { "totalAmount": 1190.00, "taxesAmount": 190.00, "dueAmount": 1190.00 },
"accounting": {
"accountCode": "70100",
"accountNumber": "4200",
"amount": 1190.00,
"currency": "EUR"
},
"status": "due",
"issueDate": "2024-01-15T00:00:00Z",
"dueDate": "2024-02-15T00:00:00Z",
"metadata": { "costCenter": "CC-MARKETING" },
"erpIdentificationFields": { "sapDocNumber": "5100000123" }
}
What CAN be written for pre-accounting:
accounting.accountNumber) — YES, first-class fieldaccounting.accountCode) — YES, first-class fieldaccounting.amount + accounting.currency) — YESmetadata (keys still unknown, need testing)erpIdentificationFieldsWhat CANNOT be written:
status and dueAmount.attach-readable endpoint (multipart/form-data).Connections can be created via API with POST .../connections:
{
"name": "Connection Name",
"integrationName": "Integration Name",
"source": "External integrator - Orcha"
}
Each new connection requires specific activation in Agicap's back-office system before documents become available in the Agicap app. This is a manual step by Agicap support.
Purpose: Route externally-generated payment files into Agicap for bank submission, and manage beneficiaries.
Source: OpenAPI spec extracted from developer portal (complete).
| Method | Path | Description |
|---|---|---|
| POST | .../entities/{entityId}/payments-files/import |
Upload .xml/.txt payment file |
| POST | .../entities/{entityId}/payments-files/secured-import |
Upload with signed beneficiaries (restricted) |
Files are forwarded to the bank unmodified. Supports all standard banking XML/TXT formats.
No endpoints exist to:
| Method | Path | Description |
|---|---|---|
| GET | .../entities/{entityId}/Beneficiaries |
List all beneficiaries |
| POST | .../entities/{entityId}/Beneficiaries |
Create beneficiary |
| PUT | .../entities/{entityId}/Beneficiaries/{id} |
Edit beneficiary |
| DELETE | .../entities/{entityId}/Beneficiaries/{id} |
Delete beneficiary |
| DELETE | .../entities/{entityId}/Beneficiaries |
Delete all beneficiaries |
Beneficiary schema:
| Field | Type | Notes |
|---|---|---|
id |
uuid | Agicap-generated |
name |
string | Required |
bankAccount.identifier |
string | IBAN/BBAN |
bankAccount.bic |
string | BIC/SWIFT code |
bankAccount.bankName |
string | |
bankAccount.country |
string | ISO 3166-2 |
bankAccount.intermediaryBankBic |
string | |
bankAccount.localClearingCode |
string | |
postalAddress |
object | city, country, streetName, zipCode, number, state |
validationStatus |
enum | Validated, PendingValidation |
uncertaintyStatus |
enum | Uncertain, NotUncertain, Irrelevant |
Note: Beneficiaries only contain identity + bank details. No GL account, cost center, or accounting information.
Purpose: Export pre-accounted card expense journal entries from Agicap's Business Spend Management module.
Source: Official OpenAPI spec extracted from developer portal (complete).
Product context: Agicap offers physical and virtual Mastercard corporate cards with built-in expense management — receipt capture via mobile app, per-card spending limits, approval workflows, auto-categorization to cost centers and chart of accounts, and pre-accounting. (Agicap Ausgabenmanagement)
Single read-only endpoint:
| Method | Path | Description |
|---|---|---|
| GET | /public/card-expenses-bank-journal/v1/entities/{entityId}/accounting-transactions |
List card expense journal entries |
Query parameters:
LastSynchronizationDate — ISO 8601 datetime, returns entries after this datePageSize / PageNumber — Standard paginationAccountingTransactionLine)Each card expense journal entry is a simple debit/credit pair:
| Field | Type | Required | Description |
|---|---|---|---|
uniqueId |
string (GUID) | YES | Unique entry ID |
paymentDate |
datetime | YES | Card transaction date |
title |
string | YES | Manually entered title |
supplierOrMerchant |
string | YES | Merchant/supplier name |
debit.accountNumber |
string | YES | Debit GL account number |
debit.accountType |
enum | YES | SupplierAccount or BankLedger |
debit.amount |
double | YES | Debit amount |
debit.currency |
string | YES | Currency |
debit.thirdPartyAccount |
string | YES | Account label |
credit.accountNumber |
string | YES | Credit GL account number |
credit.accountType |
enum | YES | SupplierAccount or BankLedger |
credit.amount |
double | YES | Credit amount |
credit.currency |
string | YES | Currency |
credit.thirdPartyAccount |
string | YES | Account label |
externalId — no round-trip matching capabilitydocument object — no invoice/receipt referenceanalyticalCodes / dimensions — no cost center datacounterparts[] array — flat debit/credit structure, not multi-lineFrom the API documentation:
"You need your accountant to prepare the journal entries and click on 'export to my accounting software' for them to be available from the API database."
Card expense entries are NOT automatically available via the API. An accountant must manually prepare and click export in the Agicap UI first. This is fundamentally different from the Treasury Bank Journal (which has automatic "Ready to export" entries).
| Aspect | Treasury Bank Journal (AP invoices) | Card Expenses Bank Journal |
|---|---|---|
| Data richness | Very rich (invoice refs, externalId, dimensions, counterparts, custom fields) | Basic (merchant, GL accounts, amounts only) |
| Automation | Fully automatic — entries appear when bank confirms | Manual — accountant must prepare + click export |
| Round-trip matching | YES — document.externalId comes back |
NO — no external ID |
| Cost centers | YES — analyticalCodes map |
NO |
| Receipt/PDF data | Document references in counterparts | NO |
| Multi-line entries | YES — counterparts array per entry | NO — single debit/credit pair |
| Error feedback | mark-as-imported / mark-as-not-imported endpoints |
NO — read-only |
The card expense API provides enough data for a basic DATEV booking proposal (GL account + amount + merchant + date), but Orcha cannot add significant intelligence since:
Recommendation: Phase 2 add-on, not core integration. Focus on the AP invoice flow first.
Can Orcha perform pre-accounting (GL account assignment, cost center tagging, tax code assignment) and push the enriched data into Agicap, so the partner doesn't need to do pre-accounting in Agicap?
| Data | API | Method | Confidence |
|---|---|---|---|
| Invoices (supplier/client) | Business Documents v2 | Direct field | 100% (official spec) |
| Purchase orders | Business Documents v2 | Direct field | 100% (official spec) |
| Credit notes (supplier/client) | Business Documents v2 | Direct field | 100% (official spec) |
| Client quotes | Business Documents v2 | Direct field | 100% (official spec) |
| Sales orders | Business Documents v2 | Direct field | 100% (official spec) |
| Proforma invoices | Business Documents v2 | Direct field | 100% (official spec) |
| GL account number | Business Documents v2 | accounting.accountNumber |
100% (official spec) |
| Third party account code | Business Documents v2 | accounting.accountCode |
100% (official spec) |
| Accounting currency + amount | Business Documents v2 | accounting.currency + accounting.amount |
100% (official spec) |
| Supplier name + ID | Business Documents v2 | counterParty field |
100% (official spec) |
| Multiple instalments | Business Documents v2 | instalments[] array |
100% (official spec) |
| Invoice PDF upload | Business Documents v2 | attach-readable (Beta) |
100% (official spec) |
| ERP-specific fields | Business Documents v2 | erpIdentificationFields |
100% (official spec) |
| Cost centers on invoices | Business Documents v2 | metadata field (key unknown) |
60% (untested) |
| Beneficiary bank details | Payments v2 | Beneficiary CRUD | 100% (official spec) |
| Data | Reason |
|---|---|
| Chart of accounts (standalone) | No API — 404 on all attempted endpoints |
| Cost center definitions (standalone) | No API — 404 |
| Category hierarchy | No API — read-only via internal API |
| Tax rate definitions | No API |
| Journal code definitions | No API |
| Analytical code axis definitions | No API |
| Supplier master data (beyond beneficiary) | No API for supplier GL accounts, payment terms, etc. |
Agicap is not designed to receive pre-accounting master data via API. The platform expects either:
For Orcha's use case: Option 3 is the path. Push invoices with metadata containing cost center and GL account information. The metadata dictionary is the bridge. But until a connection is provisioned, we cannot test which keys Agicap maps to analyticalCodes and accountingAccountNumber in the Treasury Bank Journal export.
| Capability | Supported? | API | Confidence |
|---|---|---|---|
| Write invoices | YES | Business Documents v2 | 100% |
| Write purchase orders | YES | Business Documents v2 | 100% |
| Write credit notes | YES | Business Documents v2 | 100% |
| Write client quotes | YES | Business Documents v2 | 100% |
| Write sales orders | YES | Business Documents v2 | 100% |
| Write proforma invoices | YES | Business Documents v2 | 100% |
| Write GL accounts on invoices | YES (accounting.accountNumber) |
Business Documents v2 | 100% |
| Write third party account codes | YES (accounting.accountCode) |
Business Documents v2 | 100% |
| Upload invoice PDFs | YES (attach-readable, Beta) |
Business Documents v2 | 100% |
| Write instalments | YES (instalments[]) |
Business Documents v2 | 100% |
| Read bank journal entries | YES | Treasury Bank Journal v1 | 100% |
| Reconcile payments to invoices | YES | Treasury Bank Journal v1 | 100% |
| Get payment dates + amounts | YES | Treasury Bank Journal v1 | 100% |
| Get supplier info per payment | YES | Treasury Bank Journal v1 | 100% |
| Get invoice references per payment | YES | Treasury Bank Journal v1 | 100% |
| Get source system IDs (externalId) | YES | Treasury Bank Journal v1 | 100% |
| Get analytical dimensions (cost centers) per payment | YES | Treasury Bank Journal v1 (analyticalCodes) |
100% |
| Get GL accounts per payment | YES | Treasury Bank Journal v1 | 100% |
| Download raw bank statements | YES (non-PSD2) | Banking Documents v1 | 100% |
| Push bank statements into Agicap | YES | Banking Documents v1 | 100% |
| Manage beneficiaries (CRUD) | YES | Payments v2 | 100% |
| Route payment files to bank | YES | Payments v2 | 100% |
| Report import errors to Agicap | YES | Treasury Bank Journal v1 | 100% |
| Read card expense journal entries | YES (manual export required) | Card Expenses Bank Journal v1 | 100% |
| Get card expense merchant + GL accounts | YES | Card Expenses Bank Journal v1 | 100% |
| Get card expense cost centers/dimensions | NO | Not in Card Expenses schema | 100% |
| Get card expense receipts/PDFs | NO | Not in Card Expenses schema | 100% |
| Push analytical dimensions (cost centers) | LIKELY | Business Documents v2 (metadata or erpIdentificationFields — mechanism unknown) |
60% |
| Push GL accounts on invoices | YES | Business Documents v2 (accounting.accountNumber) |
100% |
| Write chart of accounts | NO | No API | 95% |
| Write dimension/cost center definitions | NO | No API | 95% |
| Query payment status | NO | No API | 100% |
| Real-time payment notifications | NO | No webhooks | 100% |
| Trigger approval workflows | NO | No API | 100% |
| Read supplier master data | NO | No API | 90% |
analyticalCodes / accountingAccountNumber in Treasury Bank Journal exportsMWKY9K5mrD)Draft message for Agicap: see agicap-investigation-summary.md lines 161-173.
Orcha processes invoice
→ Orcha enriches with GL account, cost center, tax code
→ POST /business-documents/v2/.../supplier-invoices
{
externalId: "orcha-doc-uuid",
invoiceNumber: "INV-2024-001",
counterParty: { id: "supplier-123", name: "Lieferant GmbH" },
amounts: { totalAmount: 1190.00, taxesAmount: 190.00, dueAmount: 1190.00 },
status: "due",
issueDate: "2024-01-15",
dueDate: "2024-02-15",
metadata: {
"costCenter": "CC-MARKETING",
"accountingAccount": "4200",
"taxKey": "VSt19"
}
}
Poll: GET /treasury-bank-journal/v1/entities/{entityId}/exports?after={lastPollDate}&size=100
→ For each new export:
GET /exports/{exportId}
→ For each entry:
Match entry.counterparts[].document.externalId to Orcha document ID
Extract: paymentDate, amounts, thirdPartyName, analyticalCodes
Update Orcha document status to "paid"
→ POST /mark-as-imported with successful agicapUniqueIds
→ POST /mark-as-not-imported for any errors
Orcha syncs supplier bank details → Payments v2 Beneficiaries API
→ Keeps Agicap beneficiary list in sync with Orcha supplier master data
→ Enables Agicap to validate IBANs and manage payment security
analyticalCodes in Treasury Bank Journal) to invoices pushed via Business Documents v2? Is it via metadata, erpIdentificationFields, or a separate mechanism?metadata keys map to accountingAccountNumber (GL accounts)?thirdPartyCode be set via invoice metadata, or is it derived from counterParty.id?| Question | Answer | Confidence |
|---|---|---|
| API included in base subscription? | Likely NO — Enterprise tier or add-on | MEDIUM |
| Self-serve API key generation? | YES — via admin panel | HIGH |
| Usage-based costs? | Unknown | LOW |
| Rate limits? | 429 responses documented, limits not specified | MEDIUM |
| SFTP pricing? | Separately quoted | LOW |
| Minimum plan tier? | Likely Enterprise | MEDIUM |
POST /connections on Business Documents returns 500.