---
title: "PATCH /clinic-config/financial - Update financial settings"
method: PATCH
path: "/clinic-config/financial"
tags: ["ClinicConfig"]
---

# PATCH /clinic-config/financial - Update financial settings

`PATCH /clinic-config/financial`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/clinic-config/financial`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/clinic-config/financial/patch.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- FinancialSettingsDto: Financial and pricing settings
  - `stateTaxRate` union
    - number, double
    - string, double
  - `countyTaxRate` union
    - number, double
    - string, double
  - `cityTaxRate` union
    - number, double
    - string, double
  - `quickAddServiceIds` string[], nullable
  - `xplorPayEnabled` boolean
  - `xplorPayTestMode` boolean
  - `xplorPayCredentialsConfigured` boolean: Whether XplorPay credentials are stored in AWS Secrets Manager. Use /integrations/credentials/xplorpay endpoints to manage.
  - `xplorPayTerminalApiKey` string, nullable
  - `xplorPayPayLinkApiKey` string, nullable
  - `markAsPaidTypes` string[], nullable
  - `defaultPaymentTermsDays` union: Default payment terms in days for on-account (house account) invoices when the client has no per-client terms (ITE-670). 0 = due on receipt.
    - integer
    - string, int32
  - `passProcessingFeesToClient` boolean
  - `depositAccount` string, nullable
  - `accountingMode` string, nullable
  - `taxMode` string, nullable
  - `vatStandardRate` union
    - number, double
    - string, double
  - `vatReducedRate` union
    - number, double
    - string, double
  - `discountStackingMode` string: How the price rule engine resolves multiple discounts hitting the same line (or the order): "best-wins" keeps only the largest, "stack" sums them. An individual rule may override this via `PriceRule.StackingOverride`.
  - `autoCategoryGroups` boolean: File estimate lines that would land ungrouped into automatic category groups (SmartLineGroups). Off by default.
  - `paymentMethodNotices` PaymentMethodNoticeDto[], nullable: Admin-authored notices shown when a given payment method is used at checkout. Keyed by surface (e.g. `payment.check`) so the model can extend beyond payment methods later without a migration.
    - `surfaceKey` string: Keyed surface, e.g. `payment.check`.
    - `text` string: The notice text shown to staff.
    - `severity` string: Severity ("Low" | "Normal" | "High" | "Critical").

## Response `200`

OK

- FinancialSettingsDto: Financial and pricing settings
  - `stateTaxRate` union
    - number, double
    - string, double
  - `countyTaxRate` union
    - number, double
    - string, double
  - `cityTaxRate` union
    - number, double
    - string, double
  - `quickAddServiceIds` string[], nullable
  - `xplorPayEnabled` boolean
  - `xplorPayTestMode` boolean
  - `xplorPayCredentialsConfigured` boolean: Whether XplorPay credentials are stored in AWS Secrets Manager. Use /integrations/credentials/xplorpay endpoints to manage.
  - `xplorPayTerminalApiKey` string, nullable
  - `xplorPayPayLinkApiKey` string, nullable
  - `markAsPaidTypes` string[], nullable
  - `defaultPaymentTermsDays` union: Default payment terms in days for on-account (house account) invoices when the client has no per-client terms (ITE-670). 0 = due on receipt.
    - integer
    - string, int32
  - `passProcessingFeesToClient` boolean
  - `depositAccount` string, nullable
  - `accountingMode` string, nullable
  - `taxMode` string, nullable
  - `vatStandardRate` union
    - number, double
    - string, double
  - `vatReducedRate` union
    - number, double
    - string, double
  - `discountStackingMode` string: How the price rule engine resolves multiple discounts hitting the same line (or the order): "best-wins" keeps only the largest, "stack" sums them. An individual rule may override this via `PriceRule.StackingOverride`.
  - `autoCategoryGroups` boolean: File estimate lines that would land ungrouped into automatic category groups (SmartLineGroups). Off by default.
  - `paymentMethodNotices` PaymentMethodNoticeDto[], nullable: Admin-authored notices shown when a given payment method is used at checkout. Keyed by surface (e.g. `payment.check`) so the model can extend beyond payment methods later without a migration.
    - `surfaceKey` string: Keyed surface, e.g. `payment.check`.
    - `text` string: The notice text shown to staff.
    - `severity` string: Severity ("Low" | "Normal" | "High" | "Critical").

## Changes

- **2026-10-28** `099cf36186e0`: 6 info
  - added the new optional request property `autoCategoryGroups` (media type: application/json)
  - added the new optional request property `autoCategoryGroups` (media type: text/json)
  - added the new optional request property `autoCategoryGroups` (media type: application/*+json)
  - added the optional property `autoCategoryGroups` to the response with the `200` status (media type: text/plain)
  - …2 more
- **2026-09-11** `503cd0546309`: 6 info
  - added the new optional request property `defaultPaymentTermsDays` (media type: application/json)
  - added the new optional request property `defaultPaymentTermsDays` (media type: text/json)
  - added the new optional request property `defaultPaymentTermsDays` (media type: application/*+json)
  - added the optional property `defaultPaymentTermsDays` to the response with the `200` status (media type: text/plain)
  - …2 more

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/clinic-config/financial/patch.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
