Skip to main content

pushAccountingCustomer

Send the internal accounting values of a Customer to the provider. Enqueues a background job, so completion is asynchronous. The customer is created in the provider when it does not exist there, and updated when it does.

Business Rules​

  • Provider-maintained balances are excluded, and invoice routing and financial assignments are unchanged.
  • The integration has to declare that it can write accounting customers.
  • A Customer whose accounting is inherited from its sales channel cannot be pushed.
  • An internal record must exist, with a display name, a single provider link, and an initialized integration.
  • One push runs at a time per Customer and integration. A request that overlaps one already running waits for it to finish and then runs.
  • The response returns processId as soon as the job is queued. Follow processStatusUpdates(processId:) or query processStatus(processId:) for completion and failure reasons. Integration notifications are delivered separately.

Error Scenarios​

  • The Customer or the integration is missing, or belongs to another company.
  • The integration cannot write accounting customers.
  • Provider errors are reported as a notification, not by this mutation.

Permissions Required​

  • accounting:push_customer to request the push.
  • accounting:upsert_snapshot and accounting:upsert_external_projection, which the job uses to record what the provider answered.
  • accounting:configure_customer_accounting when the push establishes a new provider link.
pushAccountingCustomer(
input: PushAccountingCustomerInput!
): PushAccountingCustomerPayload

Arguments​

pushAccountingCustomer.input ● PushAccountingCustomerInput! non-null input common​

Parameters for PushAccountingCustomer

Type​

PushAccountingCustomerPayload object common​

Autogenerated return type of PushAccountingCustomer.