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

# Manage suppliers and customers

> Add suppliers and customers, merge duplicates, and import contacts from a CSV.

**Contacts** lists every supplier and customer in a workspace. Billpal creates most of them itself: when a document names a supplier or customer that doesn't exist yet, a new contact appears. On later documents, Billpal recognizes it again, for example by VAT ID, website, or name.

Admins and members can add, edit, merge, and delete contacts.

## What a contact contains

Open a contact to see its details, split across tabs.

| Tab | Content |
| - | - |
| **General** | Company name, trade name, type (supplier or customer), website, description, Tax ID, company registration ID, account, and alias |
| **Address** | Street, postal code, city, state, and country |
| **Bank** | The contact's bank accounts, as IBAN or as a US account with routing and account number |
| **Notes** | Notes from your team about this contact |
| **Exports** | Exports this contact was part of |

## Add a contact

<Steps>
  <Step title="Open Contacts">
    Click **Contacts** in the navigation, then **Add contacts**.
  </Step>

  <Step title="Choose Add manually">
    Choose **Add manually** and pick whether it's a supplier or a customer.
  </Step>

  <Step title="Enter the details">
    Enter at least the **Company name**. The more you add, such as Tax ID or website, the more reliably Billpal assigns future documents to this contact.
  </Step>

  <Step title="Save">
    Click **Create supplier** or **Create customer**.
  </Step>
</Steps>

To add many contacts at once, see [Import contacts from a CSV](#import-contacts-from-a-csv).

## Alias

Many companies appear under different names on their documents, for example "Amazon EU S.à r.l." on the invoice and "amazon.com" as the sender. Under **Alias** you add extra names or domains, and Billpal recognizes the contact by those too.

To add one, open the contact, click **Add alias** on the **General** tab, and enter a name or domain, for example "Acme Holdings" or "acme.com".

Billpal won't add a name as an alias if another contact already uses it. Otherwise it would be unclear which contact a document belongs to.

## Account

The **Account** field holds the number your accounting system uses for exactly this supplier or customer. DATEV calls it Kreditor for suppliers and Debitor for customers. It's not the ledger account on a document's line items.

* Each account number can only be used once per workspace.
* In DATEV with four-digit ledger accounts, customer accounts range from 10000 to 69999 and supplier accounts from 70000 to 99999.
* To remove account numbers, select the contacts in the list and click **Remove account**. This isn't possible while accounting software is connected.

## Merge duplicate contacts

Sometimes the same company ends up as two contacts, for example when an invoice arrives without a VAT ID. Merge them so all documents sit with one contact.

<Steps>
  <Step title="Select the contacts">
    In the list, select the contacts that belong together and click **Merge**.
  </Step>

  <Step title="Pick the one to keep">
    Under **Contact to keep**, pick the entry with the best details. The others merge into it and their documents move there.
  </Step>

  <Step title="Check aliases and rules">
    Billpal offers to add the other contacts' names as aliases. If rules refer to any of these contacts, Billpal shows it and updates the rules.
  </Step>

  <Step title="Confirm">
    Click **Merge**.
  </Step>
</Steps>

## When a contact is really your company

If Billpal reads your own company as a supplier or customer by mistake, a contact with your own details appears. Billpal marks it with "Contact needs attention" and "This contact shares identifying details with your company".

* **This is my company:** Merges the contact into your company profile. Its documents and details move to your company, and the contact is removed. Only an admin can do this.
* **Keep this contact and edit the IDs:** If it really is a different company, correct the details that match yours.

Members see "Needs an admin" here.

## Delete a contact

A deleted contact is gone for good. If it has documents, move them to another contact first. Billpal asks, for example "Transfer 4 documents to". If there's no fitting contact, create one first.

You can't delete the "Billpal" contact. Your invoices from Billpal belong to it.

## Edit several contacts at once

Select several contacts in the list to use these actions:

* **Create a note:** The same note is added to every selected contact.
* **Merge**
* **Remove account**
* **Delete**

## Import contacts from a CSV

An import brings in contacts from your accounting system or another tool. Billpal creates new contacts and fills in existing ones.

<Steps>
  <Step title="Start the import">
    Under **Contacts**, click **Add contacts** and choose **Import CSV**. **Download template** gives you a file with every column and one example row.
  </Step>

  <Step title="Choose the file">
    Drag the file into the window or click **Select file**. CSV files up to 2 MB are accepted.
  </Step>

  <Step title="Map columns">
    Map each column in your file to a field in Billpal. Company name is required. **Default type** decides whether rows without a type count as suppliers or customers.
  </Step>

  <Step title="Match contacts">
    Billpal looks for existing contacts that fit each row and shows possible matches. For each row, choose **Create**, **Update**, or **Skip**.
  </Step>

  <Step title="Review and import">
    The preview shows what changes on each contact. The import then runs in the background. At the end you see how many contacts were added, updated, and skipped. You can download the skipped rows as a CSV, fix them, and import again.
  </Step>
</Steps>

### Template columns

| Column | Content |
| - | - |
| `contact_id` | Contact ID from Billpal. Only needed to update a specific contact |
| `company_name` | Company name, required |
| `type` | `supplier` or `customer` |
| `account_code` | Account |
| `trade_name` | Trade name |
| `website` | Website |
| `description` | Description |
| `tax_id`, `tax_id_country` | Tax ID and the country that issued it |
| `company_registration_id` | Company registration ID, for example HRB 12345 or FN 123456a |
| `address_street`, `address_postal_code`, `address_city`, `address_state`, `country` | Address |
| `iban` | IBAN |
| `ach_routing_number`, `ach_account_number` | US bank account |

### How the import treats existing contacts

* **Matching:** Billpal recognizes existing contacts by contact ID, Tax ID, bank account, website, company registration ID, and name.
* **Fill in only:** The import adds missing details such as website, address, or account. It doesn't overwrite values a contact already has. The preview then shows "Keeps …".
* **DATEV:** If you work with DATEV and an account number is outside the valid ranges, Billpal assigns the next free number instead.

Common reasons a row is skipped:

| Reason | What to do |
| - | - |
| Company name is missing | Add the company name to the row. |
| Type is missing | Enter `supplier` or `customer`, or set a default type. |
| Match is ambiguous | Several existing contacts fit. Add `contact_id` or the Tax ID. |
| Account belongs to another contact | The account number is already taken. Check it. |
| Matches your own business | The row describes your own company. Remove it. |

## Related pages

<Columns cols={2}>
  <Card title="Review" icon="circle-check" href="/en/review">
    When several contacts could match a document.
  </Card>

  <Card title="Rules" icon="wand-magic-sparkles" href="/en/rules">
    Categorize or tag a contact's documents automatically.
  </Card>
</Columns>


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