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
processIdas soon as the job is queued. FollowprocessStatusUpdates(processId:)or queryprocessStatus(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_customerto request the push.accounting:upsert_snapshotandaccounting:upsert_external_projection, which the job uses to record what the provider answered.accounting:configure_customer_accountingwhen 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.