> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Merge Duplicate Customers and Vendors

> Merge a duplicate customer or vendor into the record you keep, choose which field values carry over, and see what moves, what's archived, and what blocks it.

Use this guide to merge a duplicate customer or vendor into the record you keep. A merge moves every transaction from the duplicate onto the surviving record, applies the field values you choose, and archives the duplicate. You select two records in the list, then work through a three-step dialog: **Choose customers**, **Resolve Differences**, and **Review & Merge**. Vendors use the same dialog, with **Choose vendors** as the first step, so the steps below cover both.

## Prerequisites

Before you merge customers or vendors, check that you have access and that you know which record survives.

* **Permissions**: to merge vendors, your role needs the **Merge** permission on Vendors. To merge customers, your role needs both **Archive** and **Merge** on Customers. See [User Roles and Permissions](https://docs.dualentry.com/accountants/platform-configuration/user-roles-and-permissions.md) to check or change a role.
* **Feature availability**: merge is enabled per organization. If the **Merge customers** or **Merge vendors** button doesn't appear when you select two records, contact DualEntry support.
* **A confirmed duplicate**: check tax ID, address, and email to confirm both records are the same customer or vendor. DualEntry doesn't detect or suggest duplicates.
* **The surviving record**: usually the record whose number your team and reports already use. You type its number to confirm the merge.

## Step 1: Select the two records

You start a merge from the customer or vendor list by selecting exactly two records. The merge dialog calls the duplicate the **From** record: its transactions move away and DualEntry archives it. The survivor is the **To** record: it keeps its record number and receives every transaction from the **From** record.

1. Go to **Accounting → Money In → Customers** (or **Accounting → Money Out → Vendors**).
2. Tick the checkbox for the duplicate first, then the record you want to keep. The first record you tick becomes **From** and the second becomes **To**.
3. In the selection toolbar, click **Merge customers** (or **Merge vendors**). The button stays disabled until exactly two records are selected.

## Step 2: Choose customers or vendors

The **Choose customers** step (**Choose vendors** for vendors) shows the **From** record on the left and the **To** record on the right, so you can confirm the direction before anything changes.

1. Check each card. Customer cards show customer number, type, country, parent customer, company access, and default terms. Vendor cards show vendor number, type, country, company access, tax ID, and 1099 eligibility.
2. To pick a different record, search for it in the **From** or **To** field.
3. If the direction is wrong, click **Switch To/From**. Each record stays in its column and the arrow reverses, so the **To** record is then on the left.
4. Click **Continue**. It stays disabled until both records are selected, they're different records, and neither is an intercompany customer or vendor.

## Step 3: Resolve differences

The **Resolve Differences** step lists one row for each field where the two records hold different values, and you choose which value the **To** record keeps.

1. For each row, select the **From** value or the **To** value. DualEntry preselects the **To** value, or the **From** value when the **To** value is blank.
2. Click **Continue**.

The rows cover contact details, addresses, default terms and accounts, classifications, company access, and custom fields. Classifications and company access show as counts rather than names. If the two records match on every field, the step says so and there's nothing to choose.

Some values aren't choosable, because DualEntry decides them for you:

* **Customer default currency**: the **To** customer always keeps its own default currency.
* **Customer tax registration number**: the **To** customer takes the **From** number only when its own is blank.
* **Vendor bank and payment details**: the **To** vendor always keeps its own bank account, routing number, and preferred payment method. Update them on the vendor record after the merge if the **From** vendor held the current details.
* **Vendor tax ID (TIN)**: the **To** vendor takes the **From** tax ID only when its own is blank.
* **Vendor 1099 eligibility**: the **To** vendor becomes 1099 eligible if either vendor was.

## Step 4: Review and merge

The **Review & Merge** step summarizes the merge and asks you to confirm it by typing the survivor's number.

1. Review the summary. It shows both records' names and numbers and how many fields come from the **From** record. For customers it also shows both tax registration numbers and both currencies. For vendors it shows both tax IDs and both 1099 eligibility settings.
2. Type the **To** record's number exactly as shown (for example, `CU-000012`). The match is case-sensitive, and you can use the copy button next to the number.
3. Click **Merge customers permanently** (or **Merge vendors permanently**). The button enables only when the typed number matches.

> [!WARNING]
>
> A merge can't be undone. DualEntry has no unmerge action, so check the direction and the field choices on the review step before you confirm.

When the merge finishes, a confirmation message appears. If DualEntry refuses the merge, an error message explains why and nothing changes. See [Troubleshooting a merge](#troubleshooting-a-merge).

## What happens after a merge

After a merge, every transaction from the **From** record belongs to the **To** record, and the **From** record is archived. Transaction amounts, dates, and general ledger postings don't change: only the customer or vendor on each record changes.

The table below lists what moves to the **To** record and what happens to the **From** record:

| Item | What changes |
| - | - |
| Customer transactions | Invoices, cash sales, customer payments, credits, prepayments, refunds, deposits, statements, contracts, quotes, sales orders, and projects move to the **To** customer. So do journal entry lines and billable lines on bills, direct expenses, vendor credits, and purchase orders. |
| Vendor transactions | Bills, direct expenses, vendor credits, prepayments, refunds, purchase orders, and journal entry lines move to the **To** vendor. Vendor payments follow the bills and credits they pay. |
| Other linked records | Attachments, company access, recurring schedules, fixed assets, amortization schedules, and approval workflow steps that reference the **From** record now reference the **To** record. |
| Open balances | Unpaid and unapplied amounts move with their transactions, so AR and AP aging show them under the **To** record. |
| Field values | The **To** record keeps the values you chose on the **Resolve Differences** step. |
| The **From** record | Archived and set to inactive, so it no longer appears in pickers for new transactions. If the **To** record took its name, DualEntry adds `(merged into <number>)` to the **From** record's name so the two names stay distinct. |
| Activity history | Both records show a **Customer merged** or **Vendor merged** entry in their activity history, with who ran the merge and when. |
| Integration mappings | For customers, a Stripe mapping moves to the **To** customer when it has none, and DualEntry removes the **From** customer's other integration mappings. For vendors, DualEntry removes all of the **From** vendor's integration mappings. |
| 1099 runs | Open 1099 runs that include the **From** vendor go back to draft. Compute them again before you file. |

For what archived means for a customer record, see [customer statuses](./accounts-receivable/index#customer-statuses-active-inactive-and-archived). For 1099 runs, see [1099 tracking](https://docs.dualentry.com/accountants/core-financials/accounts-payable/1099-tracking.md).

## Limits on what you can merge

DualEntry checks these rules when you start a merge. Some appear on the **Choose** step, and the rest appear as an error after you click the final merge button.

* **Two records at a time**: the merge dialog merges one duplicate into one survivor. To combine three or more duplicates, merge them one pair at a time into the same **To** record. The Public API accepts up to 25 duplicates in one call.
* **Same record type**: customers merge with customers and vendors with vendors. Customer types (individual and company) can be mixed. A tax agency vendor merges only with another tax agency.
* **Intercompany records**: intercompany customers and vendors appear in the search but can't be merged. The card shows a message and **Continue** stays disabled.
* **Locked periods**: if the **From** record has transactions in a [locked period](https://docs.dualentry.com/accountants/core-financials/close-management/period-locking.md), DualEntry refuses the merge. Customers are checked against the **A/R Transactions** lock, plus the **A/P Transactions** lock for billable lines on bills, direct expenses, and vendor credits. Vendors are checked against the **A/P Transactions** lock.
* **Matching tax and entity details**: the two records must belong to the same subsidiary and can't have different tax IDs (vendors), different tax registration numbers (customers), or different VAT or GST registrations for the same country.
* **Parent customers**: a customer with child customers can't be merged.
* **1099 runs in progress**: a vendor merge is refused while a 1099 run for those vendors is in progress. Finish or delete the run first.
* **Size**: one merge can move at most 20,000 rows and must finish within 25 seconds. If it doesn't, nothing changes.

## Troubleshooting a merge

Most merge problems trace back to permissions, the confirmation number, or one of the limits above.

**The Merge customers or Merge vendors button doesn't appear.** Your role needs the permissions listed in [Prerequisites](#prerequisites), and merge must be enabled for your organization. Ask your admin to check your role, or contact DualEntry support.

**The merge button is disabled in the list.** Select exactly two records. Hover over the button to see how many records it expects.

**Continue is disabled on the Choose step.** Select a record in both **From** and **To**, make sure they're different records, and check that neither card shows an intercompany message.

**The final merge button stays disabled.** The typed number must exactly match the **To** record's number, including capitalization. Use the copy button to avoid typos.

**The merge fails with a locked period error.** The **From** record has transactions in a period locked by the **A/R Transactions** or **A/P Transactions** lock. Ask someone who can manage [period locks](https://docs.dualentry.com/accountants/core-financials/close-management/period-locking.md) to unlock that period, run the merge, then lock the period again.

**The merge fails because it's too large.** The error names the number of rows involved. For a merge over 20,000 rows, contact DualEntry support.

**The merge fails because another merge is running.** Another merge is using one of the same records. Wait a moment and try again.

**I merged the wrong records.** A merge can't be undone. Contact DualEntry support with both record numbers and the time of the merge.

## Merge through the API

The Public API runs the same merge for customers and vendors, with the same rules, and one call can merge up to 25 duplicates into one survivor. See [Merge customers](https://docs.dualentry.com/developers/api/resources-v2/customers/merge-customers.md) and [Merge vendors](https://docs.dualentry.com/developers/api/resources-v2/vendors/merge-vendors.md) for request fields, webhooks, and errors.

## Related resources

* [Accounts Receivable](./accounts-receivable/index): customer records and statuses
* [Accounts Payable](./accounts-payable/index): vendor records and the AP lifecycle
* [Period locking](https://docs.dualentry.com/accountants/core-financials/close-management/period-locking.md): unlock a period that blocks a merge
* [How to Create and Manage Chart of Accounts](https://docs.dualentry.com/accountants/core-financials/general-ledger/create-and-manage-accounts.md#merge-two-accounts): merge duplicate GL accounts


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.