Update customer
Update a customer. Send only the fields you want to change. A field that you do not send keeps its stored value, except the fields below. When you omit one of these fields, it takes the default shown:
default_ar_account_id:nulldefault_currency: an empty stringterm_id:nullparent_id:nullcustomer_type:companytax_exemption_reason_code:nulltax_exemption_reason_code_origin:nulldefault_billable_markup_pct:nulldefault_billable_consolidation:nulldefault_billable_expense_item_id:nullattachments:[]tin: an empty stringtin_type: an empty stringdate_style:nulldate_format_custom:null
Set is_taxable to false to mark the customer as tax-exempt, or true to make them taxable. Omit the field to leave the current value unchanged.
To set a custom field, use its name as the key:
Each item is an object with one key. The key is the name of the custom field, and the value is the value to set. Send null to clear a field. If the name does not match a custom field in your organization, the request fails with 422.
If you know the id of the custom field, you can also use the nested shape. You can mix both shapes in one request:
If two custom fields have the same name, a name key cannot tell them apart. Use the nested shape for those fields.
Side effects
- When you send
attachmentson an update, DualEntry replaces the stored attachment set with the list you send. - If an approval workflow matches this request, DualEntry can set
record_statusback todraft.
Additional validations
- Fails with
422when you setallowed_company_idson a child customer, or when you create a child customer with its own company access. - Fails with
422when you set a default AR account on an intercompany customer. - Fails with
422when the default AR account is not an accounts receivable account in your organization. - Fails with
422whenparent_idwould create a circular parent relationship. - Fails with
422when you create a customer withcustomer_typeintercompany, or when you changecustomer_typeto or fromintercompany. - Fails with
422when you changecustomer_typefromcompanywhile the customer has VAT or GST registrations. To clear them, sendvat_registration_numbersandgst_registration_numbersas empty lists in the same request. - Fails with
422when the request archives the customer while a recurring template that is not archived uses it.
Authorizations
Headers
Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422.
255Path Parameters
Body
Partial update payload for PUT /public/customers/{id}/.
Every field is optional: send only the fields you want to change. Unset fields are left untouched on the existing record. This is the partial-update semantic clients expect from a modern REST API.
Business identifier. Spaces at the ends are removed. An empty value clears the stored identifier.
100Date display style: short, medium, long, or custom. Null means the organization default applies.
short, medium, long, custom Day.js / Moment-style date pattern (max 16 chars). Tokens: YYYY, YY, MMMM, MMM, MM, M, DD, D. Separators: / . - , and space. Examples: DD.MM.YYYY, MM/DD/YYYY, YYYY-MM-DD. Not ICU or raw Intl.
161 - 6464(?i)^(?:[0-9\s+\-.\(\)]*|[0-9\s+\-.\(\)]+(?:\s*(?:x|ext\.?|extension)\s*\d+))$draft, posted, archived Whether tax is calculated for this customer. Set to false to mark the customer as tax-exempt.
Company IDs allowed to use this customer. Empty list means global (all companies). Omit or send null to leave unchanged.
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHF, CLF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VES, VND, VUV, WST, XAF, XAG, XAU, XCD, XDR, XOF, XPD, XPF, XPT, YER, ZAR, ZMW, ZWL individual, company, intercompany AVALARA Tax identification number. Set it together with tin_type. Format by type: ein 12-3456789, ssn 123-45-6789, rfc 3 or 4 uppercase letters, a YYMMDD date, 2 uppercase letters or digits, then a digit or A, for example ABC010203XY9. On an update, send an empty string or null to clear it.
13Type of tax identification number: ein, ssn, utr, or rfc (Mexico). Set it together with tin. On an update, send an empty string or null to clear it.
""by_line, consolidated Classification lines stored on this record.
Response
OK
Date and time the record was created
Date and time the record was last updated
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHF, CLF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VES, VND, VUV, WST, XAF, XAG, XAU, XCD, XDR, XOF, XPD, XPF, XPT, YER, ZAR, ZMW, ZWL Schema for audit actor information.
Schema for audit actor information.
Schema for rejector information including rejection reason.
Date display style: short, medium, long, or custom. Null means the organization default applies.
short, medium, long, custom Day.js / Moment-style date pattern (max 16 chars). Tokens: YYYY, YY, MMMM, MMM, MM, M, DD, D. Separators: / . - , and space. Examples: DD.MM.YYYY, MM/DD/YYYY, YYYY-MM-DD. Not ICU or raw Intl.
16Tax identification number. The value is an empty string when the number is not set.
Type of tax identification number: ein, ssn, utr, or rfc (Mexico). The value is an empty string when the type is not set.
AVALARA ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$by_line, consolidated When you merge this customer into another customer, the ID of that customer.