Skip to main content

Reference overview

Field-by-field reference for the SDK objects you'll touch in a connector.

For the complete field list of any request or response, the Customer API reference is the source of truth — the SDK objects mirror those endpoints field-for-field. These pages are the developer-focused view: what each object is, the methods you'll call, and a small runnable example for each.

The basics

  • JobContext — the context argument every connector receives. Gives you api, logger, secrets, config, job_params, customer_number, work_dir.
  • Loggingcontext.logger.info/warn/error/debug.

Read/write patterns: BaseLoad

Every entity (Supplier, Invoice, etc.) has a Load class that gives you a uniform way to list, search, create, update, and bulk-delete rows. The patterns below are the same across every object — read this once and the per-object pages just show you the highlights.

  • BaseLoad.get_all(), .search(), .new(), .save_all(full_load=False), .delete_where(...).

Per-object pages

  • SupplierLoad — supplier + locations + addresses + bank accounts.
  • OrganizationLoad — organization units + identifiers + addresses.
  • PurchaseOrderLoad + PurchaseOrderLineLoad.
  • ReceiptLoad.
  • CustomerDataTableLoad — dynamic customer-defined tables.
  • InvoiceLoad — the consumer side: claim → acknowledge → integration_result. Read-only access to template-driven invoice fields. For ingesting invoices INTO Nuntiq see IngestionLoad below.
  • PaymentLoad — upsert payments with line-level invoice applications.
  • IngestionLoad — push invoices INTO Nuntiq. Wraps the file-upload + structured-invoice-import flow into one ergonomic builder.
  • LifecycleMessageLoad — read and write the timeline of events on an invoice (ERP success, rejection, payment, approval revoked, etc.).
  • UserLoad — manage human and service-account users in the customer's tenant. Standard CRUD plus a bulk deactivate_inactive() helper.

Special-purpose helpers

Things to remember

  1. save_all(full_load=True) truncates and replaces the whole table. Only use it when you really mean "this is the complete authoritative list". For incremental updates, leave full_load=False (the default) and the API upserts on the natural key.
  2. InvoiceLoad doesn't follow the standard CRUD pattern. Invoices are produced by the Nuntiq platform, not created by connectors — claim()get_by_token()acknowledge()integration_result() is a different shape. See its page.
  3. Dirty tracking only sends changed fields. Setting a field to its current value won't re-send it.
  4. Validation runs at save_all() time, not at field assignment. You can build up a half-finished entity and discard it if you change your mind.