Workflow: Import și Distribuție Multi-Brand
Modules involved: Purchase · Warehouse · Price Lists · Clients & Client Groups · Invoices & Estimates · eTransport · Finance · Marketing Campaigns · Leads
Who uses it: Achiziții · Depozit · Vânzări · Financiar · Marketing
Durata tipică: 4–12 săptămâni (de la negociere furnizor la rotația stocului)
Overview
Firmele de import care lucrează cu 5–30 branduri internaționale se confruntă cu un ciclu complex: negocierea anuală a condițiilor per brand, plasarea comenzilor în valută cu livrare la termen, managementul costurilor de import (transport internațional, taxe vamale, comisioane broker vamal), și distribuția ulterioară printr-o rețea de revânzători organizată pe segmente și grupuri de prețuri.
Acest workflow acoperă întregul ciclu — de la prima negociere cu un furnizor/brand nou până la rotația completă a stocului importat prin rețeaua de distribuție. Fiecare brand se gestionează ca un furnizor distinct, cu propriul catalog de produse, propriile liste de prețuri de achiziție (în valută) și propriile liste de prețuri de vânzare (diferențiate pe canal: retail, wholesale, key account).
Un aspect critic al acestui flux este calculul corect al costului de aterizare (landed cost): prețul de achiziție în valută, convertit la cursul zilei BNR, la care se adaugă transportul internațional, asigurarea, taxele vamale și comisioanele agentului vamal. Doar cu acest cost complet poți calcula marja reală per brand și per produs.
Diagrama fluxului
[FURNIZOR EXTERN — Brand]
│ negociere preț + termene + INCOTERMS
│ contract-cadru anual per brand
↓
[VENDOR CREAT ÎN CRM]
│ fișă furnizor cu monedă, termene plată, contact brand manager
↓
[PURCHASE ORDER — în valută (EUR/USD/GBP)]
│ status: Draft → Approved → In Progress → Completed
│ produse + cantități + preț valută + INCOTERMS + ETA estimat
│
├── [DOCUMENTE IMPORT — atașate la PO]
│ factură proformă furnizor
│ packing list furnizor
│ Bill of Lading (BL) sau AWB internațional
│ certificat de origine / conformitate (dacă necesar)
│
↓
[VAMĂ — dacă import extra-UE]
│ declarație vamală, taxe, comision broker
│ → cost vamal notat manual și adăugat la landed cost
│
↓ (sau direct, dacă import intra-UE / fără vamă)
↓
[eTRANSPORT — dacă aplicabil]
│ declarație înainte de mișcarea mărfii pe teritoriul RO
│ status: Declarată → Confirmată ANAF
│
↓
[RECEPȚIE MARFĂ — Goods Receipt Note]
│ stoc intrat în depozit per lot
│ LANDED COST calculat și înregistrat:
│ preț achiziție valută × curs BNR
│ + transport internațional
│ + taxe vamale + comision broker
│ + asigurare transport
│ = COST ATERIZAT pe unitate
│
↓
[CATALOG ACTUALIZAT]
│ Items noi adăugate sau stoc completat
│ preț de cost actualizat (landed cost per unitate)
│
↓
[PRICE LISTS ACTUALIZATE — per brand / per canal]
│ Retail List (brand X)
│ Wholesale List (brand X)
│ Key Account List (brand X)
│ Promo / Sezon List
│
↓
[COMUNICARE REVÂNZĂTORI]
│ Marketing Campaign sau Announcement
│ conținut: disponibilitate stoc, prețuri noi, termene promoționale
│
↓
[COMENZI REVÂNZĂTORI]
│ Estimate (Sales Order) → confirmat → Invoice → Plată
│ revânzătorul vede prețurile din lista alocată grupului său
│
↓
[ROTAȚIE STOC ✓ · MARJĂ PER BRAND ✓ · COMISIOANE PLĂTITE ✓]
Pas cu pas
1. Negociere și contractare furnizor/brand
Unde: /admin/purchase/vendors + /admin/purchase/purchase_contracts (dacă modulul de contracte este activ)
Fiecare brand internațional se creează ca un Vendor distinct în CRMConnect, chiar dacă același distribuitor fizic furnizează mai multe branduri. Separarea pe furnizori permite:
- Urmărirea comenzilor și facturilor per brand independent
- Condiții diferite de plată (30 zile net pentru Brand A, plată în avans pentru Brand B)
- Raportare achizitii per brand fara filtre complexe
Câmpuri esențiale la crearea vendorului:
| Câmp | Valoare / Notă |
|---|---|
| Vendor Name | Numele brandului sau al distribuitorului oficial |
| Currency | EUR / USD / GBP — moneda contractului |
| Payment Terms | Net 30 / Net 60 / Advance Payment |
| Contact | Brand manager + email comenzi + email financiar |
| VAT/Tax Number | Numărul fiscal al furnizorului extern |
| Country | Țara furnizorului — relevant pentru TVA intracomunitar |
| Internal Note | INCOTERMS agreat (EXW, FOB, CIF, DDP etc.) |
Purchase Contract (opțional, dacă modulul activ):
Contractul-cadru anual documentează condițiile negociate: volume minime, discount-uri pe tranșe, exclusivitate teritoriu, politică de retur. Documentul PDF se atașează direct la fișa vendorului sau la contract.
Bună practică: Creează un Task recurent anual pentru renegocierea contractului, cu 60 de zile înainte de expirare. Asignează-l Brand Managerului responsabil.
2. Plasarea comenzii de import (Purchase Order în valută)
Unde: /admin/purchase/purchase_order → New Purchase Order
Purchase Order-ul este documentul central al importului. Se creează în moneda furnizorului (EUR/USD) și rămâne în valută pe tot parcursul procesului de achiziție.
Statusuri Purchase Order:
| Câmp | Cod | Status | Descriere |
|---|---|---|---|
status |
1 | Draft | Ciornă — neconfirmată |
status |
2 | Approved | Confirmată furnizorului — nu se mai modifică |
status |
3 | Rejected | Refuzată / anulată |
status |
4 | Canceled | Anulată după aprobare |
order_status |
1 | Not Started | PO aprobat, marfa nepornită |
order_status |
2 | In Progress | Marfa în producție sau pe drum |
order_status |
3 | Completed | Marfa recepționată complet |
delivery_status |
0 | Nelivrat | Nicio recepție parțială încă |
delivery_status |
1 | Livrat | Marfa sosită și recepționată |
Câmpuri critice de completat la creare:
| Câmp | Descriere | Obligatoriu |
|---|---|---|
| Vendor | Furnizorul/brandul | Da |
| Currency | EUR / USD — moneda comenzii | Da |
| Exchange Rate | Cursul BNR la data comenzii (informativ) | Recomandat |
| Expected Delivery Date (ETA) | Data estimată de sosire | Da |
| INCOTERMS | EXW / FOB / CIF / DDP — în Notes sau câmp custom | Da |
| Reference Number | Numărul comenzii din sistemul furnizorului | Recomandat |
| Shipping Address | Depozitul destinație | Da |
| Products / Items | Produsele, cantitățile, prețul în valută | Da |
| Notes | Instrucțiuni speciale de ambalare, marcare, documente cerute | Opțional |
Trimitere la furnizor:
- Buton Send to Vendor → PDF generat + email cu link portal furnizor
- Furnizorul poate vizualiza și confirma comanda prin portal (dacă accesul portal este activat)
3. Urmărire ETA și documente de import
Unde: Task-uri la PO + /admin/tasks + atașamente la PO
Între plasarea comenzii și sosirea mărfii există un interval de 2–10 săptămâni (dependent de brand, sezon, INCOTERMS). În această perioadă trebuie urmărit:
Documente de import — atașate direct la Purchase Order:
| Document | Cine îl furnizează | Când sosește |
|---|---|---|
| Factură Proformă | Furnizor | La confirmare PO |
| Factură Comercială Finală | Furnizor | La expediere |
| Packing List Furnizor | Furnizor | La expediere |
| Bill of Lading / AWB | Transportator | La expediere |
| Certificat de Origine | Furnizor / Camera de Comerț | La expediere |
| Certificat de Conformitate / Test Report | Furnizor | Per produs (dacă e.g. electrice, jucării) |
| Declarație Vamală (DAU/MRN) | Broker vamal | La vămuire |
Workflow urmărire ETA cu Tasks:
La crearea PO → creează Task "Urmărire ETA Brand X — PO #[număr]"
- Asignat: Responsabil Logistică
- Due date: ETA − 7 zile
- Subtasks: Confirm expediere furnizor / Confirm BL primit / Confirm vămuire completă
La sosirea documentelor de transport → Task "Vămuire PO #[număr]"
- Asignat: Broker Vamal sau responsabil intern
- Atașează declarația vamală la PO după finalizare
La confirmarea sosirii mărfii la depozit → Task "Recepție PO #[număr]"
- Asignat: Responsabil Depozit
Actualizare
order_status: Schimbă manual statusul PO laIn Progresscând furnizorul confirmă expedierea, și laCompleteddupă recepția integrală.
4. Recepție marfă și calculul costului de aterizare
Unde: /admin/warehouse/manage_purchase → Goods Receipt Note (GRN)
Recepția este pasul cel mai important din perspectiva costului: aici se stabilește prețul de achiziție real pe unitate, care va fi baza marjei comerciale.
Creare GRN:
- Dacă
auto_create_goods_received = 1: GRN creat automat la aprobarea PO - Altfel: manual din
/admin/warehouse/manage_purchase→ New Receipt → selectezi PO-ul
Câmpuri GRN:
| Câmp | Descriere |
|---|---|
| Purchase Order | PO-ul de referință |
| Warehouse | Depozitul destinație (poate fi separat per brand) |
| Received Date | Data fizică a intrării mărfii |
| Items / Qty | Cantitățile efectiv primite (poate diferi de PO — recepție parțială) |
| Lot Number | Identificatorul lotului — baza FIFO |
| Date Manufacture | Data fabricației (dacă relevantă) |
| Expiry Date | Data expirare — obligatoriu pentru produse perisabile |
| Unit Cost | Prețul pe unitate — aici se înregistrează landed cost |
Calculul landed cost — metodologie:
Preț unitar furnizor (în valută): EUR 12.50
× Curs BNR la data vămuirii: × 4.97
= Preț achiziție în RON: = RON 62.13
+ Cotă transport internațional/buc: + RON 3.40
(total freight ÷ număr unități)
+ Cotă taxe vamale/buc: + RON 2.10
(total taxe ÷ număr unități)
+ Cotă comision broker vamal/buc: + RON 0.45
+ Cotă asigurare transport/buc: + RON 0.28
────────────
= LANDED COST per unitate: = RON 68.36
Unde se înregistrează: Câmpul
Unit Costdin GRN = landed cost calculat. Acesta alimentează rapoartele de marjă și valoarea stocului în bilanț.
Recepție parțială vs. totală:
| Situație | Acțiune |
|---|---|
| Toată cantitatea sosită | GRN acoperă tot PO-ul → delivery_status = 1 |
| Cantitate parțială sosită | GRN parțial → delivery_status = 0 → rămâne deschis pentru al doilea GRN |
| Lipsă cantitativă față de PO | Notează discrepanța în GRN → reclamație la furnizor |
| Marfă deteriorată | Returnează cantitatea afectată → crează retur pe GRN |
La aprobarea GRN (approval = 1):
- Stocul crește:
inventory_manage.inventory_number += cantitate_recepționată - Tranzacție înregistrată cu
status = 1(Receipt) îngoods_transaction_detail - Lotul devine disponibil pentru vânzare cu FIFO activ
5. Actualizarea catalogului și a listelor de prețuri
Unde: /admin/warehouse/commodities (Items) + /admin/sales/price_lists
5a. Actualizare catalog (Items)
Produsele noi din import trebuie create sau actualizate în catalog înainte de a fi disponibile pentru vânzare.
Structură recomandată pentru import multi-brand:
| Câmp Item | Convenție |
|---|---|
| Item Name | [Brand] — Denumire Produs — Referință |
| Category | Categoria de produs (nu brandul — brandul e furnizor) |
| Unit | Unitatea de măsură (buc, set, kg, m) |
| Commodity Code | SKU intern — unic per produs |
| Barcode | EAN furnizor (dacă disponibil) |
| Description | Descriere comercială în română |
| Custom Field: Brand | Brandul — pentru filtrare și raportare |
| Purchase Price | Landed cost calculat la ultima recepție |
| Tax Rate | TVA aplicabil (19% standard / 9% alimente-pharma / 5% etc.) |
Produse cu variante (culoare, mărime, model): Fiecare variantă este un Item distinct cu propriul SKU și propriul stoc. Dacă sistemul permite grupare (product families), asociază variantele sub același produs-părinte.
5b. Actualizare liste de prețuri
Unde: /admin/sales/price_lists
Modelul recomandat pentru import multi-brand cu rețea de revânzători:
| Listă de prețuri | Aplicare | Marjă tipică față de landed cost |
|---|---|---|
Brand X — Retail RO |
Clienți finali, vânzare directă | 60–100% |
Brand X — Wholesale Standard |
Revânzători mici (< 10k EUR/an) | 30–45% |
Brand X — Wholesale Key Account |
Parteneri mari (> 10k EUR/an) | 20–35% |
Brand X — Internal / Cost |
Transfer intern între depozite | 0% (cost aterizat) |
Brand X — Promo Season [An] |
Campanie sezonieră limitată | variabil |
Actualizare prețuri la fiecare import:
- Deschide lista de prețuri aferentă brandului
- Filtrează produsele brandului
- Recalculează prețurile pornind de la noul landed cost
- Activează lista nouă cu data de intrare în vigoare
- Arhivează lista anterioară (nu șterge — e nevoie pentru rapoarte istorice)
Alocare liste la Client Groups:
| Client Group | Price List alocată automat |
|---|---|
| Revânzători Standard | Brand X — Wholesale Standard |
| Key Accounts | Brand X — Wholesale Key Account |
| Direct / Retail | Brand X — Retail RO |
Alocarea se face din
/admin/clients/client_groups→ editare grup → câmpul Default Price List.
6. Comunicarea disponibilității la rețeaua de revânzători
Unde: /admin/marketing/campaigns sau Announcements
La fiecare import nou sau la lansarea unui sezon, revânzătorii trebuie notificați cu: ce produse sunt disponibile, la ce prețuri, ce cantități și care sunt termenele promoționale.
Opțiunea 1 — Marketing Campaign (Email):
/admin/marketing/campaigns→ New Campaign- Audiență: selectează Client Group-urile relevante (toți revânzătorii activi ai brandului)
- Template email:
- Subiect:
[Brand X] — Colecție [Sezon An] disponibilă | Prețuri actualizate - Corp: produse vedete + imagini + prețuri wholesale + link catalog PDF
- CTA:
Plasează comanda ta→ link direct la portal client
- Subiect:
- Atașament: Catalogul actualizat PDF sau Price List Excel
Opțiunea 2 — Announcement (notificare în portal client):
Banner sau notificare vizibilă la login în portalul clientului. Util pentru anunțuri urgente (stoc limitat, promo flash).
Prospectare revânzători noi (Leads):
Dacă deschizi distribuția pe o regiune nouă sau adaugi un brand premium, campania poate include și o componentă de prospectare:
/admin/leads→ New Lead sau Import din Excel (listă de prospecți targetați)- Asignare agent comercial per județ / regiune
- Pipeline:
Nou → Contactat → Demo / Întâlnire → Ofertă Trimisă → Revânzător Activ - La conversie: Convertește Lead-ul în Client + asignează Client Group + Price List
7. Procesarea comenzilor de la revânzători
Unde: /admin/estimates (Sales Orders) + /admin/invoices
7a. Comanda revânzătorului (Estimate / Sales Order)
Comenzile de la revânzători pot ajunge prin mai multe canale:
| Canal | Cum intră în CRM |
|---|---|
| Portal client | Direct ca Estimate — statusul inițial: Draft |
| Agent creează manual Estimate | |
| Telefon / WhatsApp | Agent creează manual Estimate |
| EDI / API | Import automat (dacă integrarea e configurată) |
| WooCommerce | Import automat din /admin/integrations/woocommerce |
La crearea Estimate-ului:
- Sistemul aplică automat Price List-ul grupului clientului
- Prețurile afișate sunt cele din lista alocată — agentul poate vedea și marja (dacă are permisiunea)
- Câmpul Warehouse — selectează depozitul din care se livrează (important dacă ai depozite per brand sau per regiune)
Verificare stoc la confirmare:
CRMConnect nu rezervă stocul la crearea Estimate-ului. Verificarea se face la generarea avizului de livrare. Dacă lucrezi cu stocuri limitate de import, verifică disponibilul manual înainte de a confirma comanda clientului.
Statusuri Estimate:
| Cod | Status | Acțiune |
|---|---|---|
| 1 | Draft | Ciornă — nevizibilă clientului |
| 2 | Sent | Trimisă clientului pentru confirmare |
| 4 | Accepted / Invoiced | Confirmată → convertită în factură |
| 3 | Declined | Refuzată |
| 5 | Expired | Expirată — data de valabilitate depășită |
7b. Conversia în factură și livrare
Fluxul de la Estimate la factură și livrare urmează același model ca în Full Commercial Cycle:
- Estimate confirmat → Convert to Invoice
- Factură generată → Create Delivery Note
- Aviz de livrare aprobat → stoc scade automat
- Packing List → AWB generat (Innoship / alt curier)
- Factură trimisă clientului + aviz însoțire
eFactura (ANAF) — dacă activă:
Pentru clienți B2B din Romania, factura se transmite automat în sistemul ANAF e-Factura la emitere. Verifică statusul transmiterii din fișa facturii → tab eFactura.
8. Urmărirea încasărilor și rotația stocului per brand
Unde: /admin/reports + /admin/finance + /admin/warehouse/warehouse_history
8a. Rapoarte de performanță per brand
| Raport | Unde | Ce urmărești |
|---|---|---|
| Vânzări per furnizor/brand | /admin/reports/sales_by_item filtrat pe categorie / furnizor |
Cifra de afaceri per brand |
| Marjă brută per produs | Raport Profitability (dacă activ) | Landed cost vs. preț vânzare |
| Stoc curent per brand | Commodities → filtru categorie/brand | Rotație — cât stoc mai e |
| Stoc fără mișcare (dead stock) | Warehouse History → produse fără ieșiri 60+ zile | Decizii de promo / returnare |
| Facturi neîncasate per client | /admin/invoices?status=4 |
Cash flow din rețea |
| Comenzi în așteptare | /admin/estimates?status=2 |
Pipeline vânzări |
8b. Cursuri valutare și reconciliere financiară
Unde: /admin/finance/exchange_rates (sau echivalent)
La fiecare import există o diferență de curs valutar între:
- Cursul la data comenzii (PO)
- Cursul la data vămuirii / recepției (GRN)
- Cursul la data plății facturii furnizorului
Bună practică: Înregistrează cursul BNR din ziua vămuirii în câmpul Exchange Rate al GRN-ului. Aceasta este baza corectă pentru calculul landed cost și pentru reconcilierea contabilă.
Plata furnizorului extern:
/admin/purchase/myinvoices→ selectează Vendor Invoice- Verifică suma datorată în valută + curs aplicat
- Înregistrează plata: tip
wire transfer+ referința ordinului de plată bancar payment_status:unpaid → partially_paid → paid
Ce se creează automat
| Eveniment | Se creează automat | Condiție |
|---|---|---|
| Aprobare Purchase Order | Goods Receipt Note (draft) | auto_create_goods_received = 1 |
| Aprobare GRN | Stoc crescut în inventory_manage |
Întotdeauna |
| Aprobare GRN | Tranzacție în goods_transaction_detail |
Întotdeauna |
| Estimate acceptat de client | Factură generată automat | estimate_auto_convert_to_invoice_on_client_accept = 1 |
| Factură creată | Aviz de livrare (draft) | auto_create_goods_delivery = 1 |
| Aviz de livrare aprobat | Stoc scăzut + tranzacție ieșire | Întotdeauna |
| Factură emisă B2B | Transmitere eFactura ANAF | Modul eFactura activ + client cu CUI |
| Marfă extra-UE în tranzit | Declarație eTransport | Modul eTransport activ + rută configurată |
Puncte unde fluxul poate bloca
| Problemă | Cauză probabilă | Soluție |
|---|---|---|
| PO aprobat dar marfa nu sosește la ETA | Furnizor întârzie producția / transport | Task de urmărire cu escaladare la 7 zile; solicită BL actualizat |
| Landed cost incorect în GRN | Costurile vamale sau freight-ul au sosit după recepție | Ajustează Unit Cost în GRN (dacă GRN-ul nu e complet procesat) sau crează ajustare de stoc separată cu diferența de cost |
| Cursul valutar diferit față de cel de la PO | BNR variație între PO și GRN | Înregistrează cursul real la data vămuirii în GRN — diferența de curs e pierdere/câștig valutar, reflectat în contabilitate |
| Stoc blocat — aviz livrare nu poate fi aprobat | Stoc insuficient față de comanda revânzătorului | Verifică dacă GRN-ul importului a fost aprobat; dacă da, verifică dacă produsul e pe același warehouse |
| Prețurile din Price List nu se aplică clientului | Clientul nu e în grupul corect sau lista nu e alocată grupului | /admin/clients → editează clientul → verifică Client Group → /admin/clients/client_groups → verifică Price List alocată |
| Revânzător comandă produse din brandul X dar nu are acces la acea price list | Price List-ul brandului X nu e alocată grupului clientului | Adaugă lista de prețuri în setările grupului sau creează un grup separat per brand |
| eFactura respinsă de ANAF | Date fiscale incorecte (CUI client, adresă, tip TVA) | Corectează datele din fișa clientului și retrimite din tab-ul eFactura al facturii |
| Declarație eTransport invalidă | Datele vehiculului sau rutei incomplete | Completează toate câmpurile obligatorii din /admin/etransport înainte de mișcarea mărfii |
| Marjă negativă per produs | Landed cost mai mare decât prețul de vânzare (curs valutar crescut) | Recalculează Price List-ul după noul landed cost; notifică revânzătorii de modificarea prețurilor |
Rapoarte relevante
- Sales by Item / Category —
/admin/reports/sales_by_item— vânzări per produs/brand, volum și valoare - Purchase Orders —
/admin/purchase/purchase_order— comenzi deschise, ETA, delivery status - Stock Current —
/admin/warehouse/warehouse_history— sold curent per produs, per depozit, per lot - Vendor Invoices Unpaid —
/admin/purchase/myinvoices?payment_status=unpaid— datorii furnizori externe - Client Invoices Overdue —
/admin/invoices?status=4— creanțe restante din rețeaua de revânzători - Estimate Pipeline —
/admin/estimates?status=2— comenzi revânzători în așteptare de confirmare - Dead Stock — Warehouse History filtrat: produse fără ieșiri în ultimele 60 zile — stoc mort per brand
- DataPulse —
/admin/datapulse— dashboard executiv: CA per brand, marjă, rotație, forecast
Module implicate — documentație detaliată
Achiziție: Vendors · Purchase Orders · Received Quotations · Vendor Invoices
Depozit: Goods Receipt Note · Delivery Notes · Inventory History · Loss & Adjustments
Vânzare & Prețuri: Price Lists · Estimates / Sales Orders · Invoices · Client Groups
Financiar & Integrări: Finance / Exchange Rates · eFactura ANAF · eTransport
Marketing & Vânzări: Marketing Campaigns · Leads
Workflow-uri înrudite: Purchase to Pay · Warehouse Inbound → Outbound · Full Commercial Cycle · Marketing to Lead