---
title: Economic Partners — one place for clients, suppliers, banks and everyone you work with
description: A friendly starter guide to the Economic Partners registry. Keep every company and person you deal with in one list, where "client", "supplier" and "bank" are simply roles — bring in your existing data safely, add partners with the right fiscal fields for their country, track recurring obligations, and import from a file.
product: TSync Intelligence 11.3.6
language: en
canonical: https://docs.tsync.pro/modules/economic-partners/
source: https://docs.tsync.pro/llms.txt
---

# 🤝 Economic Partners

Today your **clients**, your **suppliers** and your **banks** live in separate lists. But the same company is often *both* a client and a supplier, and you end up typing it twice.

**Economic Partners** fixes that: it's **one list of everyone you work with**, where *client*, *supplier*, *bank*, *authority*, *landlord*, *transporter* and so on are just **roles** you tick on a single partner. One company, one record, as many roles as it needs.

> 💡 **It changes nothing until you turn it on.** The registry ships **switched off**. Your existing customers, suppliers and banks keep working exactly as before. You decide when (and how far) to adopt it.

---

## Turning it on (safely)

1. Go to **Setup → Modules** and activate **TSync Parteneri economici**.
2. Open **Economic Partners → Settings** (or find the **Economic Partners** card in the **Configuration Center** — it's always there, even before you enable anything).
3. Tick **Enable the Economic Partners registry** and pick a **mode**:

| Mode | What it does |
|------|--------------|
| **Off** | Nothing runs. Your old lists are untouched. |
| **Shadow** ⭐ | The registry is built and filled from your existing data, but your old lists stay the source of truth. **Start here.** |
| **Hybrid** | Partners become selectable across the app (in the **Browse** picker on partner fields); imports and obligations write into the registry. |
| **Canonical** | The strictest mode — partners are the single source of truth, and the **Lead–Partner rule is enforced** (see below). |

Most teams stay on **Shadow** for a while: you get the unified view without changing any habits. The Settings page also shows a live count of how many partners and obligations exist so far.

### Canonical mode — the Lead–Partner rule

When you switch the Lead–Partner layer to **Canonical**, TSync enforces a simple discipline: every **business lead**
(one that has a **Company**) must be **linked to an economic partner** — or **explicitly marked as having none**.
Individual leads (no company) are exempt.

A lead that is neither linked nor marked shows a **"this B2B lead needs a partner decision"** banner on its
Economic-Partner block, where you can link it to an existing partner, create a partner from it, or click
**"Mark: no economic partner"**. The **Lead–Partner Review** console gains a **Canonical compliance** panel listing
every unresolved lead so you can clear them in one place, and the count also appears in **Health**. Lower modes
(Off / Shadow / Hybrid) do **not** enforce this — switch to Canonical only when you want every business lead to
have a deliberate partner decision.

### Reviewing partner suggestions

As leads come in, TSync proposes which **economic partner** each likely belongs to. The **Lead–Partner Review**
console lists every pending suggestion with its lead, the proposed partner, the **signal** that matched (email,
phone, a company-name alias, or a fuzzy name match) and a confidence score. For each you can **Link** (accept) or
**Reject** it. To clear a backlog fast, **tick several rows** (or the header checkbox to select all) and use the
bar that appears to **Link**, **Reject** or **Recalculate** the selected ones in one go.

You decide **which signals** generate suggestions and **how strong** each must be in **Settings → Matching rules**:
turn a signal on or off and set its confidence (for the fuzzy company-name match, its minimum score — which is also
the threshold above which two equally-strong matches mark a lead as *ambiguous* and needing review).

**Auto-link (optional).** In **Settings** you can turn on **auto-link**: when a lead has a *single* clear match at
or above a strict confidence threshold, TSync links it for you — no review needed. It stays **off by default**,
every auto-link is **audited**, and the Review console shows an **"auto"** badge with a one-click **Undo** that
sends the suggestion back for review.

Two conversion reports live in the **Reports** console: the **Lead → Partner conversion funnel** (leads → suggested
→ linked → converted, each as a share of all leads) and **Repeat-business partners** (partners linked to several
leads) — both exportable and chartable.

### On the lead itself

Open any lead and you'll find an **Economic partner** panel. From there you can, in one place:

- **Accept** a suggestion, or **Link to existing partner** — pick the partner (with **Browse** for the full list and
  **New** to create one on the spot), choose the **role** (customer, payer, beneficiary, …) and optionally pick one
  of the partner's **existing contacts** or **create a new contact** from the lead.
- **Create a new partner** from the lead — the panel previews the name that will be used (Company first, by your
  settings) and warns if a **similar partner** already exists, so you link instead of duplicating.
- **Mark "no economic partner"** for a lead that genuinely has none.

When the lead is linked, the panel lists its partners (with an **"auto"** badge if it was auto-linked, and a one-click
**Undo**). In **Canonical** mode a business lead that has no partner decision yet **cannot be converted to a customer**
until you link it or mark it — and any link carries the lead's **branch**, so the branch → partner trail stays intact.

### Settings reference

**Settings → Economic partners** (Lead–Partner section) gathers the knobs: the **mode** (Off / Shadow / Hybrid /
Canonical), the **matching rules** (which signals suggest, and how strong), **auto-link** (on/off + threshold), and the
conversion behaviour (partner-name source, whether Company is required, create-a-contact-on-link, and the leads-list
column). Everything is off or conservative by default — turn things on as you get comfortable.

---

## The Dashboard at a glance

Once the registry is on, **Economic Partners** appears in the left menu with five sub-pages: **Directory**, **Dashboard**, **Recurring obligations**, **Import** and **Settings**.

The **Dashboard** is your home base. Across the top it shows your current **mode** and quick-action buttons — **Directory**, **Recurring obligations**, **Import**, **Duplicate suggestions** (with a badge showing how many are still open), **Payment calendar**, **Backfill from legacy** and **Settings** — so any task is one click away.

Below that, four headline tiles tell you the state of the registry:

- **Partners** — how many you have in total.
- **With roles** — how many already have at least one role ticked.
- **Active obligations** — recurring obligations currently running.
- **Data-quality warnings** — partners that are missing something (an identifier, a field) and need a quick tidy-up.

A **Roles breakdown** strip shows how many partners hold each role (clients, suppliers, banks…).

> While the module is still off, the Dashboard shows a short **onboarding panel** with the three steps to adopt it safely and an **Open settings to enable** button.

---

## Step 1 — Bring in what you already have

On the **Dashboard**, click **Backfill from legacy**. This reads your existing **customers, suppliers and banks** and creates a partner for each, with the right role.

You can tick **which sources** to bring in (Suppliers, Clients, Banks) — or leave them all on to import everything.

- If the **same company** is both a customer and a supplier, it becomes **one partner with both roles** — no duplicates.
- Existing **contacts** of a customer or supplier are pulled in alongside the partner.
- It's **safe to run again** — already-imported records are skipped, and the report shows a **Contacts** column.
- You get a small **report**: how many were scanned, created, linked, had roles added, and skipped — per source.

Your old lists are never modified — this only *copies* them into the new registry. (The backfill needs the registry on in **Shadow** mode or higher; in **Off** mode it won't run.)

---

## Step 2 — Add or edit a partner

Click **New partner**. The form is **country-first**: choose the **country** and **entity type** (legal person, natural person, public institution, organization, bank, other), and the form immediately asks for **exactly the right identifiers**:

- **Moldova** → IDNO (for companies), IDNP (for individuals), VAT code if registered.
- **Romania** → CUI/CIF, Trade Register number, VAT, and EORI if the partner does import/export.
- **EU** → VAT number.
- **Other countries** → Tax ID and registration number.

Required fields are marked with a **\***. Sensitive personal IDs (IDNP/CNP) are **stored encrypted** and only the last 4 digits are shown.

You also set the **VAT status** (VAT registered, exempt, reverse charge, or not a VAT payer), a **default currency**, an **email** and **phone**, and a flag if the partner **engages in import/export** (so EORI applies).

> 💡 You can still save a partner with a field missing — it won't block you. The partner just gets a small **data-quality warning** (shown right at the top of its page) so you can complete it later.

### Filling from the state register

If you know the **company number**, TSync can propose the company's details from the register. You first see
a **list of fields with tick boxes** — legal name, activity, address, phone, representative — each beside
its current value, so you choose exactly what gets written. Nothing is overwritten without your tick.

Three things worth knowing:

- **The company's activity is saved on the partner** and stays there.
- If the register shows the company is **being wound up**, the partner gets a **data-quality warning** — it
  appears at the top of its page and stays open until somebody closes it. Not a tick hidden in a form: a
  signal, where you are already looking.
- An identifier confirmed against the register **keeps its source and date**, so you can see it was checked
  rather than typed.

If a ticked field cannot be written, the answer **names it** instead of just saying "done".

Tick one or more **roles** (Client, Supplier, Service provider, Bank / financial institution, Authority, Association, Landlord, Recurring payee, Transporter, Intercompany partner…). A partner can have as many as it needs.

### What the partner's page shows

Opening a partner gives you everything in one view: its **roles**, the **fiscal & legal identifiers**, its **contacts**, **addresses**, **bank accounts**, **aliases**, linked **contracts** and its **recurring obligations** — plus an **Edit** button and any open data-quality warnings.

The tabs adapt to the partner's **roles**, so you only see what's relevant: a **supplier** (or service provider) shows *Purchases* and *Supplier invoices* but hides *Sales* and *Client invoices*; a **client** shows the sales side and hides the purchasing side; a partner that's both shows everything; a **bank/authority** (no commercial role) shows none of the commercial tabs. *(If a partner already has documents on a tab, that tab stays visible even if the role wouldn't normally show it — nothing is ever hidden away.)*

### Working from the cabinet (activating a partner in operational modules)

When the partner layer is in **hybrid** or **canonical** mode, the Economic Partner is your single source of truth — but invoices, purchases and payments still live in the platform's customer/supplier records. So the first time a partner gets a **client** or **supplier** role, TSync **creates (or finds and links) the matching operational record** for it: a client role → a *customer* record, a supplier/service-provider role → a *supplier* record. It matches by fiscal code first (so it never duplicates an existing one), and only creates a new record when there's no match. From then on the partner's commercial tabs "light up" and you can work its documents from here. This is automatic on saving the role (you can turn it off under **Partner settings → “Auto-create operational records from roles”**). For a partner created earlier that isn't linked yet, open it and use the **“Activate now”** button shown at the top.

Once a partner is activated, its commercial tabs show **“New …” buttons** so you can raise a document straight from here with the customer/supplier already filled in: **New invoice**, **New estimate** and **New contract** on the client side, **New purchase order** and **New supplier bill** on the supplier side. Each button appears only if you have permission to create that document. *(A payment is always recorded on a document — use **Record payment** on the Payments tab to jump to the client/supplier profile where you open the invoice and add the payment, including cash.)*

**Switching between the two views:** the partner header has **“Open as customer / Open as supplier”** to jump to the classic customer/supplier profile, and that profile shows an **“Open in Economic Partners”** button to come back — one click each way, handy when you work across both.

**Finding partners & flipping through them:** the partner directory (nomenclator) has a **search** (by name, legal name, fiscal code or **alias**) plus **filters** by role, country, entity type and status. When you open a partner from a list, a **“‹ Previous / Next ›”** bar lets you walk through that same (filtered) list card by card — useful for reviewing many partners in a row. The same prev/next bar also appears on the classic customer/supplier profiles. And because aliases are part of the search, someone who only works in **Clients** can still find a customer by an **alternative name** — the alias is matched in the Clients list search (and shown next to the company name).

### Contact persons — and who may sign

The **Contact persons** tab holds the people at the partner: first name, last name, **position**, email, phone
and, where relevant, the **person's own national ID** (used when a contract is issued in their name rather than
the company's). Exactly one can be marked **primary** — the person you normally talk to.

**But the person you talk to is not necessarily the one who may sign.** So every contact has a separate tick:
**"May sign on behalf of this legal entity"**. Tick it **only** if the person can legally bind the company — a
purchaser or a project manager usually cannot, even if they are the person you call every day.

Ticking it opens three more fields:

| Field | What it is |
|---|---|
| **Signing authority** | Articles of association, Power of attorney, Decision of the associates, Order, or another basis. |
| **Document (number and date)** | "no. 12 of 03.02.2026". A statute needs no number. |
| **Valid until** | **Fill this in for a power of attorney** — a power of attorney expires, articles of association do not. |
| **Default signatory** | The person proposed automatically when a contract is issued. One per partner. |

The contact list shows at a glance who may sign: a green **"May sign"** badge, a blue **"Default"** badge, and
if a power of attorney has lapsed, a red **"Mandate expired"** badge with the date. An expired mandate is more
dangerous than a missing one, because the name still looks authorised.

**What changes in contracts.** When a contract is issued for this partner, TSync proposes the signatory in this
order: valid default signatory → anyone with signing authority → an expired mandate (shown, with a warning). If
**nobody** is ticked, the primary contact is still used, exactly as before — but the window says plainly *"the
primary contact, unverified"*, so you know what you are looking at before you press Issue.

The position and the authority print next to the name if the template uses the fields
`{partner_representative_title}` and `{partner_signing_basis}`, or the ready-made clause
`{partner_representative_clause}` — *"represented by Ion Popescu, in the capacity of Director, acting on the
basis of the articles of association"*.

> 💡 Nothing is filled in for you on upgrade. TSync **does not guess** who may sign: every existing contact
> starts unticked, and contracts behave exactly as before until you say otherwise.

### Addresses

On the partner's page, the **Addresses** tab lets you **add, edit and delete** addresses. Pick a **type** — *registered office*, *billing*, *shipping/delivery* or *other* — and fill in the street, city, county/region, postal code and 2-letter country. Mark one as the **primary** address (only one can be primary; setting a new one clears the previous). This is where you keep, for example, a **delivery address that differs from the legal seat**.

### Bank accounts

On the partner's page, the **Bank accounts** section lets you add the partner's IBANs — with the **bank name**, **branch**, **account number**, **currency**, **BIC/SWIFT** and **account holder**. TSync **checks the IBAN** (a wrong digit is flagged immediately — it warns but still lets you save) and fills in the **country** from it. Mark one account as the **default for payments** and one as the **default for receipts**, so the right account is suggested later. Each account can be marked active or inactive.

### Aliases (alternative names)

A partner is often written several ways — a **branch** ("FinComBank suc.nr.3 Chișinău"), a **trade name**, an old spelling, or a **legacy** name. Add these under **Aliases** so that when a bank statement or an import uses one of them, TSync **links it to the right partner** instead of creating a duplicate.

---

## Step 3 — Recurring obligations (optional)

Open **Recurring obligations** to record things you pay (or receive) on a schedule — **bank fees, rent, utilities, software licences, insurance, leasing, association dues…**

For each one you set the **partner**, a **type/label** (e.g. bank fee, rent, SaaS, insurance), the **frequency** (daily, weekly, monthly, quarterly, annual, or a custom number of days), the **duration** (unlimited, or fixed — until a date, or for a set number of occurrences), the **amount type** (fixed, variable or estimated) with **amount and currency**, how many days ahead to **warn**, and a few flags (needs invoice / contract / justification, who's responsible, cost centre).

You can also say **how it gets paid**:

- **Payment source** — which of *your* money places it leaves from (a bank account, cash register, card, wallet…).
- **Beneficiary account** — which of the **partner's** bank accounts it goes to (you only see that partner's accounts).
- **Accounting account** — pick the GL account by code and name (no more typing it by hand).
- **Linked contract** — choose one of the partner's contracts; the obligation's **end date fills in from the contract**, and TSync **stops** projecting payments once the contract ends. From the partner's page you can also click **a contract → "new obligation from this contract"**.

### The payment schedule

After you save an obligation, TSync shows its **schedule** — the list of upcoming payment dates (the "occurrences"), each with its date, amount and a status (**Planned**, **Matched**, **Paid**, **Skipped** or **Cancelled**). These are **projected on a rolling 12-month horizon and regenerated daily**, so your planning always looks ahead a year. TSync **stops** generating them once the obligation ends, and **warns you** before a linked contract is about to expire.

---

## Step 4 — Import from a file (optional)

Have a list in **Excel or CSV**? Open **Import**:

1. **Download the template** (a ready-made CSV with the right columns and one example row) if you're starting from scratch — or just upload your own file. TSync recognises standard headers, and also exports from **1C, Bitrix24 and amoCRM**. (CSV is fully supported; .xlsx is best-effort — if it can't be read, export to CSV.)
2. **Match the columns.** If your file's headers don't match, a simple **mapping wizard** lets you point each TSync field at the right column in your file. You can pick a **saved mapping profile** before uploading, or **save the current mapping as a profile** and reuse it next time — so a recurring Bitrix24 export is one click.
3. **Preview** — every row is classified: *created*, *updated* (it already exists), *incomplete*, or *needs review* (a possible duplicate or a bank **branch** of an existing partner). If you've imported the exact same file before, TSync tells you. **Nothing is written yet.**
4. **Commit** — partners are created/updated, duplicates are flagged (never silently merged), and you get a **report** with the totals. Each imported record remembers where it came from.

> 💡 Incomplete rows don't block the import — they come in marked, so you never lose data.

### Reviewing duplicates

When the import thinks a name is really a **branch or another spelling** of a partner you already have, it doesn't guess — it adds it to **Duplicate suggestions** (a button on the Dashboard shows how many are open). For each one you see the imported name, the existing partner it might match, the match basis (branch / alias / similar name) and a score. You choose: **link it as a branch/alias** of the existing partner, or **keep it separate**. Once you link a name, TSync **remembers** it — future imports of that name attach automatically.

### Fixing fiscal divergences

The same company can end up with **two fiscal codes**: the one on the **partner** (its IDNO/CUI) and the one stored on its linked **client** record (its VAT). That happens because the partner and the customer record were filled in at different times or from different sources. When both values exist and **differ**, the safe automatic sync never touches them — it only fills in blanks, never overwrites a value you might have typed on purpose.

**Fiscal divergences** (in the Economic Partners menu, `/admin/tsync_partners/fiscal_divergences`) lists exactly those cases — each row shows the partner and its fiscal code next to the linked client and its (different) VAT. You resolve each one yourself:

- **Align to partner** — one click sets that client's VAT to the partner's fiscal code (the change is written to the audit log). Use this when the partner is the correct, clean source.
- **Keep the client value** — just leave it. Nothing changes unless you click *Align to partner*, so a client code you know is right is never overwritten behind your back.

There's no blanket "overwrite everything" here on purpose — fiscal codes are money-sensitive, so each pair is a deliberate, per-case decision. When the list is empty, every linked client already matches its partner.

---

## Filling a partner in from the state register, without going online

If you have a company's IDNO, TSync can fill in its official details — legal name, legal form, registered
address, area code, activities, and the **liquidation date** — from a copy of the state register that lives on
your own installation.

**Nothing leaves your system when you look a company up.** No vendor, no external service, no request per
search. The only traffic is downloading the published file once a week, and that download says nothing about
you or your partners.

### Switching it on

*Configuration → Economic Partners → State company register (local copy)*. Tick **Use the local register**
and save.

Then the register has to be imported once. It runs by itself daily, or you can start it from
*Scheduler → Partners — state register import*. The first import takes a few minutes and **continues by
itself** if it does not finish in one go — you can keep working while it runs.

The settings page tells you which snapshot you have and how many companies are in it. If it says there is no
local copy yet, the import simply has not run.

### Using it

Open a partner that has an IDNO and press the lookup button on the card. You get a preview with a tick box per
field; nothing is written until you confirm. Anything already filled in stays as it is unless you tick it.

**To fill in many partners at once**, use *Fill in what the cards are missing* on the settings page. It goes
through every partner that has an IDNO and fills **only the empty fields**. What you typed is never
overwritten — if the register disagrees with a value of yours, that belongs on the card, where you can see
both. It reports how many it filled, how many were not in the register, and how many were already complete.

### What it will not tell you

- **Phone, email and website.** The register does not publish them, so they never appear.
- **Directors and founders.** These are published, and they are deliberately **not imported** — your database
  has no place for them. Bringing the names of 300 000 people into your installation, almost none of whom have
  anything to do with your business, is not something we can justify to you or to them.
- **VAT-payer status.** There is no reliable machine-readable source for it.

### If a company is not there

You get "not in the register as published on <date>" — an answer, not an error. The company may be newer than
your copy, or the IDNO may be mistyped. Run the import again to get a fresher copy.

> The data comes from **dataset.gov.md — State Register of Legal Units** (Public Services Agency), reused
> under CC BY 4.0. You will see that attribution and the snapshot date next to the data, so you always know
> how fresh what you are applying is.


## Romanian partners: looking a company up at ANAF

If a partner's country is **Romania**, the same lookup button on the card asks **ANAF** instead of the local
register. You get the legal name, the registered address, the **trade register number** and the **CUI**, with
the same preview and the same tick box per field — nothing is written until you confirm.

Two things are worth knowing:

- **This one does go online.** Unlike the Moldovan register, there is no downloadable file to keep on your own
  installation, so the lookup asks ANAF directly. The button says where the data comes from.
- **It only appears if the ANAF module is switched on.** If your installation never adopted it, no button
  appears and nothing is contacted.

If ANAF cannot be reached, you are told exactly that — *not* "company not found". Those are different answers,
and only one of them means the company is not registered.

**An inactive taxpayer** raises a warning on the card, separately from the "in liquidation" warning used for
Moldovan companies. They are different findings and each says what it is.

## Finding a company by name, when you have no IDNO

A card with no IDNO can still be matched against the local Moldovan register — press **Find in the register by
name**. You get a list of companies with their IDNO, address and a match percentage.

**It proposes; it never fills anything in by itself.** Picking a company simply opens the ordinary preview for
that IDNO, so you still see every field and still confirm. This is deliberate: a name is not an identifier, and
a wrong IDNO on a card is worse than a missing one — it ends up on contracts and invoices, and nothing about it
looks wrong afterwards.

The match threshold is yours to set (*Configuration → Economic Partners*, default **88%**). At that setting the
same words in a different order still match, while one word different does not. Lower it if you are searching
through names that were typed inconsistently over the years.

If nothing reaches the threshold, or the search had to be capped, the list says so. "Nothing found" and "we
stopped looking" are not the same thing.


## Using partners across the app (Hybrid mode)

In **Shadow** mode the registry is read-and-fill only — your old customer/supplier lists stay the source of truth and nothing else changes. When you move to **Hybrid**, partners go **live in the entity picker**: a **Browse** button appears next to partner fields elsewhere in the app so you can pick (or quick-create) a partner, and imports and obligations write straight into the registry.

### The billing address on new documents

When you create an **invoice, estimate, credit note or proposal** and pick the customer, the **Bill To** block
fills itself in — even if nobody ever pressed the copy-address-to-billing button on that customer's profile.

The address is taken, in this order:

1. **the economic partner's address** for that client (the one marked *Billing* first, then the registered office);
2. **the client's own address**, if there is no partner or the partner has no address.

Three things worth knowing:

- The address is taken **whole, from a single source**. It never mixes the street from the partner with the city
  from the client — that would invent a postal address that exists nowhere.
- If the document **already has** a billing address, even a partly filled one, **nothing is touched**. An address
  you typed stays yours.
- It fills in **only when the document is created**. An invoice already issued keeps the address it printed —
  what a fiscal document says is never rewritten after the fact.

An administrator can switch the behaviour off entirely with the `tsync_billing_address_fallback` setting.

---

## Reports

Two ready reports help with planning (export to Excel/CSV, amounts kept as proper numbers):

- **Obligation Payment Calendar** — every upcoming obligation payment, by date and partner. A quick button sits on the Dashboard and the Obligations list.
- **Partner Directory** — every partner with their roles, country, currency and how many bank accounts and obligations they have.

Both also appear in the platform's **Reports** console, where you can filter, save views, chart and schedule them like any other report.

---

## In short

- **One registry** for everyone you work with — client/supplier/bank are *roles*, not separate lists.
- **Off by default.** Turn it on, start in **Shadow**, run the **Backfill**, review, then move to **Hybrid** when you're comfortable.
- A **Dashboard** with mode, quick actions, KPI tiles (partners, with roles, active obligations, data-quality warnings) and a roles breakdown.
- **Country-aware** forms ask for the right fiscal fields; sensitive IDs are encrypted.
- **Bank accounts** with IBAN checking and defaults; **aliases** so branches don't become duplicates.
- **Recurring obligations** with payment source, beneficiary account, GL account and a linked contract — they project a rolling 12-month payment schedule and warn you before things expire.
- **Import** from Excel/CSV with a template, a column-mapping wizard, saved profiles, a safe preview and a duplicate-review console.
- **Reports** for the payment calendar and the partner directory.

Your existing data is never changed — Economic Partners sits *alongside* it until you choose otherwise.
