🤝 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)
- Go to Setup → Modules and activate TSync Parteneri economici.
- Open Economic Partners → Settings (or find the Economic Partners card in the Configuration Center — it's always there, even before you enable anything).
- 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:
- 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.)
- 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.
- 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.
- 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
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:
- the economic partner's address for that client (the one marked Billing first, then the registered office);
- 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.