---
title: "Update individual customers in bulk"
method: PATCH
path: "/v1/customers/individuals/bulk"
tags: ["Individual Customers"]
---

# Update individual customers in bulk

`PATCH /v1/customers/individuals/bulk`

## Request

- Base URL: `` (relative, and it does not resolve against the document’s source URL)
- URL: `/v1/customers/individuals/bulk`
- Auth: one of:
  - API key in header `sessionKey`
  - API key in header `clientCode`
  - API key in header `jwt`
- TypeScript: <https://skmtc.dev/erply/apis/crm-api/docs/v1/customers/individuals/bulk/patch.ts> (a function with typed inputs; its response is checked against the schema)

Each request body is an individual customer to update
The body can contain up to 100 requests. preserveOldCardNumber flag is the part of the request body. The response contains the IDs of the results as well as the IDs of the resources updated. resourceID = customerID.
Each request in the request body must contain a resourceID, the preserveOldCardNumber and the fields that are required to update.

## Request body

- CustomersApiInternalServicesCustomersBulkUpdateIndividualRequest
  - `requests` CustomersApiInternalServicesCustomersBulkUpdateIndividualRequestItem[]: products must contain IDs
    - `GLN` string: Global Location Number.
    - `bankAccountNumber` string: Number of customer's bank account.
    - `bankIban` string: IBAN number of customer's bank account.
    - `bankName` string: Name of customer's bank.
    - `bankSwiftCode` string: BIC/SWIFT identifier of customer's bank account.
    - `birthDate` string: Date of birth (yyyy-mm-dd)
    - `businessAreaId` integer: area of business.
    - `code` string: National ID
    - `color` string: Color that the customer entry is marked with. Possible values: "", "yellow", "red", "blue", "green".
    - `countryId` integer: Customer’s country.
    - `creditLimit` integer: Customer’s credit limit: the maximum amount of money (in account default currency) that they are allowed to owe.
    - `customerBalanceDisabled` boolean: Flag indicating that Erply does not keep track of the customer's balance (amount prepaid or due)
    - `customerGroupId` integer
    - `customerManagerId` integer: Customer manager (must be an employee
    - `defaultPaymentDeadLine` integer: Default payment deadline (in days).
    - `deliveryTypeId` integer: A field that propagates from customer records to sales documents and lets the company categorize shipments by delivery method or delivery time.
    - `doNotSell` boolean: Whether the customer is marked with a do not sell flag or not.
    - `eInvoiceEmail` string: In UI, the field is titled “E-invoice email address”.
    - `eInvoiceReference` string: Customer reference for e-invoices.
    - `eInvoicesViaEmailEnabled` boolean: 0 or 1: whether the customer wants to receive invoices via electronic channels.
    - `ediCode` string: E-invoice integration parameter.
    - `ediType` string: EDI type. Possible values: 2DOC, 4DOC, SPECIAL.
    - `emailOptOut` boolean: Flag indicating that this customer does not want to receive email correspondence.
    - `employeeId` integer: Employee ID of the employee changing this individual customer.
    - `employerId` integer: Used to indicate that this person is a contact person / an employee in a particular company.
    - `facebookName` string
    - `factoringContractNumber` string: Factoring contract number.
    - `fax` string
    - `firstName` string: First name / given name.
    - `gender` string: Gender. Erply API only accepts "male" "female" or an empty string.
    - `homeStoreCustomId` integer: Additional, custom home store ID
    - `homeStoreId` integer: Location where the customer shops most frequently. https://learn-api.erply.com/requests/getwarehouses
    - `integrationCode` string: Corresponding customer identifier in a system integrated with Erply (e.g. accounting software)
    - `invoicesViaDocuraEnabled` boolean: 0 or 1: whether the customer wants to receive invoices via docura.
    - `invoicesViaEmailEnabled` boolean: 0 or 1: whether the customer wants to receive invoices via email.
    - `isStarred` boolean: Mark if a customer should be starred
    - `jobTitleId` integer: Individual's job title Ids.
    - `lastName` string: Last name / family name.
    - `loyaltyCardNumber` string: Assign the code of customer's loyalty/membership card. This code must match the sequence produced by card swipe.
    - `mail` string
    - `mobile` string
    - `notes` string
    - `operatorId` string: E-invoice integration parameter.
    - `paperMailsEnabled` boolean: 0 or 1: whether the customer wants the e-invoice operator to deliver paper mails (if such option is supported).
    - `partialTaxExemption` boolean
    - `payerId` integer: “Payer of invoices” (another customer).
    - `paysViaFactoring` boolean: Flag indicating that this customer pays via factoring (all invoices must be addressed to a designated third party)
    - `penaltyForOverdue` number: Late fee / penalty for overdue invoices. The semantic meaning of this value is not strictly defined; usually we expect it to be “% per day”
    - `peppolId` string: Peppol ID
    - `phone` string
    - `posCouponsDisabled` boolean: Flag indicating that coupons must not be automatically printed to this customer.
    - `preserveOldCardNumber` boolean
    - `priceListId` integer: Assign the customer a price list
    - `priceListId2` integer
    - `priceListId3` integer
    - `priceListId4` integer
    - `priceListId5` integer
    - `primaryStoreId` integer: ID of the primary store
    - `referenceNumber` string: Customer’s reference number for sales invoices. Assign a reference number - if system is configured to use hand-created customer reference numbers. By default,not necessary, since reference numbers are created automatically.
    - `resourceID` integer: The resourceId request field should be used for the product id in each request for the bulk update.
    - `rewardPointsDisabled` boolean: Flag indicating that the customer will not earn points for purchases. (They can still spend existing points though.)
    - `salesForCashOnly` boolean: Flag “Sales for cash only”. By default,false
    - `secondaryStoreId` integer: ID of the secondary store
    - `shipGoodsWithWaybills` boolean: A flag indicating that this customer wants to get goods with Waybills, not Invoice-Waybills.
    - `signUpStoreId` integer: Location where the customer signed up. https://learn-api.erply.com/requests/getwarehouses
    - `skype` string
    - `taxExempt` boolean: Flag indicating that this customer must not be charged sales tax.
    - `taxOfficeId` integer: Feature used by Greek customers: office where the customer / supplier reports to. (This value must be shown on some printouts.)
    - `titleId` integer: A title (Mr / Mrs / Miss) etc.
    - `twitterId` string
    - `type` string: Customer type. Possible values are "DOMESTIC", "EU", "OUTSIDE_EU".
    - `vatNumber` string: Customer's VAT number.
    - `webShopPassword` string
    - `webShopUsername` string: This is for web shop integrations: to store customers' web-shop login credentials in Erply.
    - `website` string

## Response `200`

OK

- CustomersApiInternalServicesCustomersBulkResponseWithResults
  - `results` CustomersApiInternalServicesCustomersBulkResult[]
    - `message` string
    - `resourceID` integer: identifier of the REST-ful response
    - `resultID` integer: identifier of the result item

---

[API](https://skmtc.dev/erply/apis/crm-api.md) - [All operations](https://skmtc.dev/erply/apis/crm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/erply/apis/crm-api/revisions/36dd4cc370b2?raw)
