CRMconnect Azuvio · Docs

Tok rada: eTransport + eFactura — Usklađenost sa ANAF-om

Uključeni moduli: eTransport · Fakturisanje (eFactura) · Fakture · Magacin (Otpremnice — opciona referenca)
Ko ga koristi: Finansije · Računovodstvo · Logistika
Tipično trajanje: eTransport = pre polaska · eFactura = na dan izdavanja ili automatski posle N dana

Pregled

CRMConnect pokriva obe ANAF obaveze za kompanije u Rumuniji:

Obaveza Modul Okidač
e-Transport (RO-e-Transport) etransport Ručno — korisnik popunjava pre polaska
e-Faktura (RO e-Faktura) billing → kontroler Efactura Ručno (dugme na fakturi) ili automatski putem crona

Arhitekturalna napomena: Oba sistema komuniciraju kroz CRMConnect posrednik (https://einvoice.crmconnect.ro/api/e-factura/), ne direktno sa ANAF-om. ANAF OAuth token se čuva na CRMConnect serveru, ne lokalno. Autentifikacija se vrši jednom na https://einvoice.crmconnect.ro/e-factura/auth.

eTransport se ne generiše automatski kada se kreira otpremnica ili narudžbenica. Korisnik ručno popunjava deklaraciju, sa opcijom odabira postojećih otpremnica/faktura kao reference.


Dijagram toka

[POČETNO PODEŠAVANJE — admin, samo jednom]
  │
  ├── Podešavanja → Opšte: company_vat (PIB kompanije), instance_id (CRMConnect nalog)
  ├── Podešavanja → default_country = Rumunija (142) ← uslov za meni eFactura
  ├── Autorizacija ANAF tokena: https://einvoice.crmconnect.ro/e-factura/auth
  │     (SPV ANAF prijava, token se čuva na CRMConnect proxy-ju)
  └── Bankarstvo: barem jedan konfigurisani bankovni račun (IBAN) u Fakturisanje → Banke
  │
  ↓
════════════════════════════════════════════
E-TRANSPORT (pre polaska)
════════════════════════════════════════════
  │
  ├── [Opciono] Kreiranje otpremnice u Magacinu ili Narudžbenice
  │
  ├── eTransport → Dokumenti → Dodaj deklaraciju
  │     ├── Tip operacije (iz tabele tipuri_operatii)
  │     ├── Poslovni partner (klijent ili dobavljač)
  │     ├── Vozilo: registarski broj (+ prikolica 1/2 opciono)
  │     ├── Datum transporta (open_till)
  │     ├── Transportovana roba: NC tarifni kod, JM, količina, težina, vrednost
  │     ├── Ruta: polazak (okrug+adresa / carinski ured / granični prelaz) + odredište
  │     └── Transportni dokumenti: otpremnica/faktura (tip, serija, broj, datum) ← opciona referenca
  │
  ├── Početni status: Nije poslato (3)
  ├── Dugme "Pošalji na eTransport" → POST na einvoice.crmconnect.ro/generate-xml
  │     → Odgovor: indexIncarcare (upload_index) + uit (UIT kod)
  │     → Status postaje: U obradi (0)
  ├── Provera statusa: Uzmi status → endpoint transport-status
  │     → Status postaje: Prihvaćeno (1) ili Greška (2)
  │
  ├── Po potrebi: Izmena vozila (send_modif_vehicul → type:'modifVehicul')
  └── Po potrebi: Brisanje deklaracije (type:'stergere' sa postojećim UIT)
  │
  ↓
════════════════════════════════════════════
E-FAKTURA (pri izdavanju ili automatski)
════════════════════════════════════════════
  │
  ├── Kreirana faktura → automatska provera prihvatljivosti:
  │     ✓ Valuta = RON (currency_id = 3)
  │     ✓ Zemlja klijenta = Rumunija (cod_tara_client = 'RO')
  │     ✓ Status fakture ≠ otkazana, ≠ nacrt
  │
  ├── Put A — Ručno: dugme "Pošalji eFactura" na fakturi
  │     → POST /billing/efactura/send_invoice/{id}
  │     → estatus = 'trimis'
  │
  └── Put B — Automatski (cron): autosend_efactura = 1
        → bira fakture: estatus IS NULL AND eindex IS NULL
        AND datum = danas - autosend_efactura_days (podrazumevano 3 dana)
        → limit 1 po pokretanju crona
  │
  ↓
[ANAF OBRADA]
  │
  ├── estatus = 'in prelucrare' (ANAF obrađuje)
  ├── Cron sinhronizacija: proverava do 10 faktura po pokretanju
  │     → estatus = 'ok' (prihvaćeno) ili 'nok' (odbijeno)
  └── Kod 'nok': preuzimanje ZIP arhive sa greškama (endpoint download-invoice)
  │
  ↓
[UVOZ PRIMLJENIH FAKTURA — opciono]
  │
  ├── Cron: sync_efactura_invoices() svakih autoimport_efactura_interval sati
  ├── Proverava endpoint company-messages (filtrira P i R)
  └── Automatski uvozi fakture dobavljača u Nabavka → Fakture dobavljača

[DEKLARACIJE ZAVRŠENE ✓ · FAKTURE PRIHVAĆENE OD STRANE ANAF ✓]

Korak po korak

1. Početno podešavanje (admin)

1a. Opšta podešavanja

Gde: /admin/settings → Opšta podešavanja

Polje Opis
company_vat PIB kompanije (sa ili bez prefiksa RO — kod automatski uklanja pri slanju)
instance_id UUID CRMConnect naloga (generisan pri registraciji)
customer_default_country Mora biti postavljeno na 142 (Rumunija) — bez ovoga, sve eFactura stranice vraćaju 404

1b. Autorizacija ANAF tokena

Idite na:

https://einvoice.crmconnect.ro/e-factura/auth?company_id={instance_id}&fiscal_code={PIB}&partner_id=2

Bićete preusmereni na SPV ANAF za autentifikaciju digitalnim sertifikatom ili SPV korisničkim imenom i lozinkom. Dobijeni token se čuva na CRMConnect serveru — ne zahteva ručnu obnovu ako veza ostane aktivna.

Možete proveriti status tokena iz: Fakturisanje → eFactura → Podešavanja → Proveri ANAF token.

1c. Bankovni račun (za eFacturu)

Gde: /admin/billing → Banke → Dodaj bankovni račun

IBAN se pojavljuje u XML datoteci e-Fakture. Bez barem jednog konfigurisanog računa, generisani XML ne uključuje bankarske podatke.

1d. Test vs. produkcijski mod

Gde: /admin/billing → eFactura → Podešavanja → einvoice_test_mode

  • 1 = koristi https://deveinvoice.crmconnect.ro/api/e-factura/ (sandbox)
  • 0 = produkcija (podrazumevano nakon završetka podešavanja)

2. Deklaracija eTransport

Gde: /admin/etransport → Dokumenti → Dodaj

2a. Tipovi operacija

Tip operacije određuje obavezna polja i da li se zahteva prethodno obaveštenje (previous_notifications = true → polje notificareAnterioara postaje obavezno).

Obavezna polja:

Polje Opis
operation_type Kod operacije (iz tbletransport_tipuri_operatii)
id_client / id_provider Poslovni partner (klijent ili dobavljač)
vehicle_registration_number Registarski broj vozila
open_till Datum transporta

Transportovana roba (barem jedna):

Polje Opis
tariff_code NC tarifni kod (iz tbletransport_cod_tarifar_nc)
operation_purpose Kod svrhe operacije (iz etransport_documente_scopuri_operatii)
unit_of_measure ANAF kod jedinice mere
quantity Količina
total_net_weight / total_gross_weight Težine (kg)
unit_price_without_vat Jedinična cena bez PDV-a
currency Kod valute (npr. RON)

Ruta (polazak + odredište obavezni): Svaka tačka rute je jedno od: adresa (okrug + mesto + ulica) / carinski ured (kod iz tbletransport_list_birou_vamal) / granični prelaz (kod iz tbletransport_list_ptf).

Transportni dokumenti (barem jedan):

Polje Opis
type_document Kod tipa dokumenta (iz tbletransport_list_tip_document)
document_series_and_number Serija i broj
date_document Datum dokumenta

2b. Statusi deklaracije eTransport

status Oznaka Značenje
3 Nije poslato Kreirano lokalno, nije poslato ANAF-u
0 U obradi Poslato, ANAF obrađuje
1 Prihvaćeno Prihvaćeno od ANAF-a (UIT aktivan)
2 Greška Odbijeno od ANAF-a

Važnost UIT-a (uit_valability — prikaz):

Vrednost Značenje
2 Aktivan
0 Ističe danas
3 Istekao
1 Neaktivan

2c. Izmena vozila nakon slanja

Ako se vozilo promeni nakon što je UIT izdat, koristite dugme Izmeni vozilo — šalje type: 'modifVehicul' sa novim registarskim brojem i postojećim UIT-om.


3. Slanje eFacture

Gde: faktura → dugme Pošalji eFacturu ILI automatski putem crona

3a. Uslovi prihvatljivosti (proveravaju se pri slanju)

Uslov Detalj
Valuta RON invoices.currency = 3 — fakture u drugim valutama se ne mogu slati
Klijent iz Rumunije cod_tara_client = 'RO' — klijenti iz drugih zemalja su isključeni
Važeći status Faktura nije otkazana niti u statusu nacrta
Aktivan token ANAF token mora biti važeći na proxy-ju

3b. Statusi eFacture

estatus Značenje
NULL Nije poslato
'trimis' Poslato, čeka potvrdu
'in prelucrare' ANAF obrađuje
'ok' Prihvaćeno od ANAF-a
'nok' Odbijeno od ANAF-a — preuzmite arhivu sa greškama

3c. Automatsko slanje putem crona

Gde: /admin/billing → eFactura → Podešavanja

Opcija Opis
autosend_efactura 1 = omogući automatsko slanje
autosend_efactura_days Dani od izdavanja do automatskog slanja (podrazumevano: 3)

Cron šalje maksimalno 1 fakturu po pokretanju u automatskom modu. Odbijene fakture (nok) se ne šalju automatski ponovo — potrebna je ručna intervencija.

3d. Uvoz faktura dobavljača iz SPV-a

Gde: /admin/billing → eFactura → Podešavanja → autoimport_efactura_interval (sati)

Cron upituje SPV inbox i automatski uvozi fakture primljene od dobavljača u Nabavka → Fakture dobavljača. Radi nezavisno od slanja eFacture.


Potrebne dozvole

Akcija Uslov
eTransport — pregled/kreiranje/izmena Dozvole modula etransport
eFactura — ručno slanje Pristup modulu billing + faktura koja se može menjati
eFactura — podešavanja (autosend, interval) is_admin()
Verifikacija ANAF tokena is_admin()
Podešavanje customer_default_country is_admin()

Česte greške

Problem Uzrok Rešenje
Meni eFactura se ne pojavljuje customer_default_country ≠ 142 Postavite podrazumevanu zemlju na Rumuniju u Podešavanjima → Opšte
ANAF token istekao OAuth token nije obnovljen na proxy-ju Ponovo autorizujte na https://einvoice.crmconnect.ro/e-factura/auth
Faktura odbijena pri slanju (valuta) Faktura nije u RON Izdajte fakturu u RON ili ručno konvertujte
UIT istekao pre transporta Deklaracija nije poslata/prihvaćena na vreme Kreirajte novu deklaraciju sa novim UIT-om
eFactura nok od ANAF-a Greške XML validacije (netačan PIB, nedostaje poreski kod, itd.) Preuzmite ZIP arhivu sa greškama → ispravite fakturu → ručno pošaljite ponovo
Autosend ne šalje Cron neaktivan ili autosend_efactura_days nije dostignut Proverite cron posao + podešavanje broja dana
Fakture dobavljača se ne uvoze autoimport_efactura_interval = 0 ili token nevažeći Postavite interval > 0 i proverite token

Reference modula