AFAS Software – Gotchas
AFAS Software provides comprehensive business software solutions including ERP, HR, and payroll management for small to medium-sized businesses.
26 gotchas across 24 resources
These are connector-specific behaviors and limitations to be aware of when integrating.
Attachments2 gotchas
attachmentsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
attachmentsUploadAn uploaded file is linked to the invoice's or bill's customer/supplier, not to the specific
invoice or bill record itself. It will not appear when listing attachments filtered to the
reference_id it was uploaded against — list attachments by that customer/supplier's other
records, or fetch the attachment by the id returned from the upload response, to find it.
Requires a per-tenant AFAS SubjectType code, passed per call as
pass_through[subject_type_id]=<code>. A file name with no extension is rejected.
Bank Accounts1 gotcha
bankAccountsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Bill Payments1 gotcha
billPaymentsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Bills2 gotchas
billsAllAFAS Profit has no first-party purchase-invoice GetConnector on most tenants. The default purchase_invoices_connector setting (Profit_Creditor_Invoices) is the open-items / aged-creditors report — it only returns purchase invoices that are still unpaid. Posted-and-cleared invoices will not appear.
To list all bills (paid + open), the customer must deploy a tenant-specific GetConnector (e.g. one over FbInkfct) and set its name on the connection via purchase_invoices_connector.
Profit_Creditor_Invoices returns one flat row per bill (header only) — there is no line-item detail, so line_items is always empty and limit=N directly caps the number of bills returned, one row per bill.
status is always reported as authorised: this GetConnector exposes no status field, so the real payment/void state of a bill (paid, draft, void) cannot be determined from it. sub_total and total are always equal for the same reason — the connector exposes a single invoice amount, with no separate pre-tax/tax breakdown, so total_tax is always 0.
billsAddOn tenants without a dedicated purchase-invoice booking connector configured (see the
bills.all gotcha above), a created bill is not immediately retrievable via bills.one or
bills.all — it is recorded in AFAS's purchase-order system rather than the invoice-booking
system those read operations query. Reading it back requires the same tenant-specific
GetConnector setup described for listing bills.
Categories1 gotcha
categoriesAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Credit Notes1 gotcha
creditNotesAllAFAS Profit derives credit notes from Profit_SalesorderLines by filtering rows with a negative AmtTotal or a credit-style Ordersoort (e.g. CR). Tenants that store credit notes in a separate journal (and not as negative sales-order lines) will return an empty list — set the credit_notes_connector setting to a tenant-specific GetConnector to override.
The limit parameter may return fewer credit notes than specified. AFAS returns flat sales-order line rows which are grouped by OrderNumber into complete credit notes. limit=N caps the raw row count, not the grouped credit-note count.
Customers1 gotcha
customersAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Departments1 gotcha
departmentsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Employees1 gotcha
employeesAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Expense Categories1 gotcha
expenseCategoriesAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Invoice Items1 gotcha
invoiceItemsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Invoices1 gotcha
invoicesAllAFAS Profit derives sales invoices from Profit_SalesorderLines (sales-orders feed). The limit parameter may return fewer invoices than specified — AFAS returns flat sales-order line rows which are grouped by OrderNumber into complete invoices. limit=N caps the raw row count, not the grouped invoice count.
Journal Entries1 gotcha
journalEntriesAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Journals1 gotcha
journalsAlltype may return bank for a journal that is actually a cash account, or vice versa — AFAS does not expose a distinct category for these two types at the API level. allow_vat and currency are not exposed and are always absent.
Ledger Accounts1 gotcha
ledgerAccountsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Locations1 gotcha
locationsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Payments1 gotcha
paymentsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Projects1 gotcha
projectsAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Purchase Orders1 gotcha
purchaseOrdersAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Most AFAS tenants have no purchase-order GetConnector configured out of the box — this
resource returns an error rather than an empty list until the tenant deploys one. If its
name differs from the Apideck default (Profit_PurchaseOrders), pass it per call via
pass_through[purchase_orders_connector]=YourConnectorName.
Quotes1 gotcha
quotesAllAFAS Profit's default sales-quotes GetConnector (Profit_Quotation) only exists on tenants that have the sales-quotes module deployed. On tenants without it, the list returns empty. Override quotes_connector on the connection to point at a tenant-specific quotes GetConnector if available.
The limit parameter may return fewer quotes than specified. AFAS returns flat quote line rows which are grouped by OrderNumber into complete quotes. limit=N caps the raw row count, not the grouped quote count.
Subsidiaries1 gotcha
subsidiariesAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Suppliers1 gotcha
suppliersAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Tax Rates1 gotcha
taxRatesAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.
Tracking Categories1 gotcha
trackingCategoriesAllAFAS does not expose a total record count in list responses. meta.total_count will not appear.