Update Payout Finance Settings
PUT/api/shopify/:integrationInstance/payout-finance-settings
Updates the payout finance settings for the integration instance. All fields are optional; omitted fields keep their current values, and nullable fields can be set to null to clear them. Returns the resolved settings after the update.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Authentication: Requires Bearer token.
Request body:
- fallback_revenue_nominal_code_id (optional, nullable, integer): account for unmapped revenue lines; must reference an existing general-ledger account.
- fallback_expense_nominal_code_id (optional, nullable, integer): account for unmapped expense lines; must reference an existing general-ledger account.
- clearing_nominal_code_id (optional, nullable, integer): clearing account that payout documents settle against; must reference an existing general-ledger account.
- accounting_sync_mode (optional, string): one of per_order, per_payout.
- payout_accounting_start_date (optional, nullable, date): payouts dated before this are not posted to accounting.
- outside_payout_orders (optional, string): one of invoice_per_order, leave_out. What happens to orders paid outside Shopify Payments in per-payout mode. When a store switches to per_payout without sending this field, it is set to invoice_per_order.
- invoiced_order_payout_nominal_code_id (optional, nullable, integer): clearing account for payout lines that pay or refund an order already invoiced per order; must reference an existing general-ledger account.
- payout_entry_date (optional, string): one of last_order_date, first_order_date, payout_date. The date each payout's documents post on: the most recent or earliest order date among the payout's sales, or the date Shopify issued the payout. Refunds, adjustments and payments of orders settled outside Shopify Payments never set the date; a payout with no sales falls back to its payout date. When a store switches to per_payout without sending this field, it is set to last_order_date; a store that was already per_payout keeps payout_date until it chooses.
- split_payouts_at_month_end (optional, boolean): when true, a payout whose sales cross a month end is split into one part per month. Earlier parts post on the last day of their month and the final part on payout_entry_date. All parts together still match the one bank deposit. Set to true when a store switches to per_payout without sending it.
- sync_payout_invoices_to_accounting (optional, boolean): automatic sync of the payout's sales and refunds documents. Off means they are not synced on a schedule; a manual sync still pushes them.
- sync_payout_bills_to_accounting (optional, boolean): automatic sync of the payout's fee, chargeback and adjustment bills.
- sync_sales_order_invoices_to_accounting (optional, boolean): automatic sync of per-order invoices for orders paid outside Shopify Payments.
- sync_sales_credit_to_accounting (optional, boolean): automatic sync of per-order credits for those orders.
A payout whose sales start before payout_accounting_start_date is split at that date: the pre-start sales post on the start date to clearing_nominal_code_id instead of revenue, so sales the previous system already booked are not counted twice. Payouts are included by the date Shopify issued them.
Changing payout_entry_date, split_payouts_at_month_end, the start date or the mode re-dates every payout whose documents have not yet been synced to your accounting provider; payouts already synced keep their dates. The response reports how many: recomputed (re-dated) and unchanged_locked (kept), plus tracked_job_log_id for the background job doing it.
Changing the mode or the start date re-evaluates this instance's payouts and per-order documents; documents already sent to your accounting provider are not voided. Changing outside_payout_orders applies to orders created afterwards.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.