- OCR via roa2web API - SQLite via API (payment_methods, tva_breakdown) - Oracle: partener, TVA încasare (4426/4428), ID_FDOC=17 - ID_JTVA_COLOANA per cotă TVA - TAXCODE (TVAI pentru firma TVA încasare) - Suport multiple cote TVA în același bon - Plată CARD: fără 401=5311 (se face la extras)
6.1 KiB
6.1 KiB
Schema Oracle - ROA (MARIUSM_AUTO)
Actualizat: 2026-02-03
Tabele Principale
ACT - Note Contabile
ACT (
ID_ACT NUMBER PRIMARY KEY,
LUNA NUMBER,
AN NUMBER,
COD NUMBER, -- Cod document unic
DATAIREG DATE, -- Data înregistrare
NRACT NUMBER, -- Număr act
DATAACT DATE, -- Data act
EXPLICATIA VARCHAR2(100), -- Descriere
SCD VARCHAR2(10), -- Cont DEBIT
ASCD VARCHAR2(20), -- Analitic debit
SCC VARCHAR2(10), -- Cont CREDIT
ASCC VARCHAR2(20), -- Analitic credit
SUMA NUMBER, -- Sumă
ID_FACTD NUMBER, -- Factură debit
ID_FACTC NUMBER, -- Factură credit
PERECHED NUMBER,
PERECHEC NUMBER,
SUMA_VAL NUMBER, -- Sumă valută
CURS NUMBER, -- Curs valutar
DATASCAD DATE, -- Data scadență
ID_UTIL NUMBER, -- Utilizator creare
DATAORA DATE, -- Data/ora creare
ID_UTILS NUMBER, -- Utilizator modificare
DATAORAS DATE, -- Data/ora modificare
TVA_INCASARE NUMBER, -- Flag TVA la încasare
SERIE_ACT VARCHAR2(10), -- Serie act
ID_PART NUMBER, -- ID partener
ID_CTR NUMBER, -- ID contract
CONT VARCHAR2(10),
ACONT VARCHAR2(20),
ID_VALUTA NUMBER,
ID_SUCURSALA NUMBER,
ID_SET NUMBER,
TIP_SAFT NUMBER
)
ACT_TEMP - Staging Note Contabile
Aceeași structură ca ACT, folosită pentru inserare temporară înainte de transfer.
RUL - Rulaje Gestiuni
RUL (
ID_RUL NUMBER PRIMARY KEY,
AN NUMBER,
LUNA NUMBER,
COD NUMBER,
NNIR NUMBER, -- Număr NIR
ID_ARTICOL NUMBER,
ID_GESTIUNE NUMBER,
PRET NUMBER,
PRETV NUMBER, -- Preț vânzare
TVA NUMBER,
TVAV NUMBER,
CANT NUMBER, -- Cantitate
CANTE NUMBER,
CONT VARCHAR2(10),
ACONT VARCHAR2(20),
ADAOS NUMBER,
ID_LUCRARE NUMBER,
ID_RESPONSABIL NUMBER,
DATAACT DATE,
PROCENT NUMBER,
CURS NUMBER,
PRETD NUMBER,
ID_UTIL NUMBER,
DATAORA DATE,
ID_SECTIE NUMBER,
PROC_TVA NUMBER,
ID_FACT NUMBER,
STERS NUMBER,
ID_TIP_RULAJ NUMBER, -- 0=intrare/ieșire reală
ID_SET NUMBER,
ID_SUCURSALA NUMBER,
NRACT NUMBER,
SERIE_ACT VARCHAR2(10),
ID_VALUTA NUMBER,
LOT VARCHAR2(50),
ADATA_EXPIRARE DATE,
...
)
NOM_TIP_RULAJ - Tipuri Rulaj
(0, 'INTRARE/IESIRE REALA')
(1, 'TRANSFER')
(2, 'RULAJ CMP')
(6, 'INVENTARIERE')
STOC - Stocuri
STOC (
ID_STOC NUMBER PRIMARY KEY,
AN NUMBER,
LUNA NUMBER,
ID_ARTICOL NUMBER,
PRET NUMBER,
PRETV NUMBER,
TVA NUMBER,
TVAV NUMBER,
CANTS NUMBER, -- Cantitate sold
CANT NUMBER,
CANTE NUMBER,
CONT VARCHAR2(10),
ID_GESTIUNE NUMBER,
...
)
BAL - Balanță Verificare
BAL (
ID_BAL NUMBER PRIMARY KEY,
CONT VARCHAR2(10),
PRECDEB1 NUMBER, -- Precedent debit (an)
PRECCRED1 NUMBER,
PRECDEB NUMBER, -- Precedent debit (lună)
PRECCRED NUMBER,
RULDEB NUMBER, -- Rulaj debit
RULCRED NUMBER, -- Rulaj credit
AN NUMBER,
LUNA NUMBER,
ID_SUCURSALA NUMBER
)
IREG_PARTENERI - Evidență Parteneri
IREG_PARTENERI (
ID_IREG_PART NUMBER PRIMARY KEY,
AN NUMBER,
LUNA NUMBER,
ID_PART NUMBER,
CONT VARCHAR2(10),
ACONT VARCHAR2(20),
DEBIT NUMBER,
CREDIT NUMBER,
VALDEBIT NUMBER,
VALCREDIT NUMBER,
CURS NUMBER,
ID_FDOC NUMBER, -- Tip document
DATAACT DATE,
DATAIREG DATE,
DATASCAD DATE,
NRACT NUMBER,
ID_RESPONSABIL NUMBER,
PRECDEB NUMBER,
PRECCRED NUMBER,
...
)
ATAS_ATASAMENTE - Fișiere Atașate
ATAS_ATASAMENTE (
ID_ATAS NUMBER PRIMARY KEY,
NUME_FISIER VARCHAR2(200),
FISIER BLOB, -- Conținut fișier
ID_UTIL NUMBER,
DATAORA DATE,
STERS NUMBER,
ID_UTILS NUMBER,
DATAORAS DATE,
DESCRIERE VARCHAR2(500),
ID_LINK NUMBER,
ID_TIP_ENT_PREL NUMBER
)
ATAS_REFERINTE - Legături Atașamente
ATAS_REFERINTE (
ID_REFERINTA NUMBER PRIMARY KEY,
ID_ATAS NUMBER, -- FK la ATAS_ATASAMENTE
ID_ENTITATE NUMBER, -- ID din tabela referită
ID_UTIL NUMBER,
DATAORA DATE,
STERS NUMBER,
ID_UTILS NUMBER,
DATAORAS DATE,
ID_PROGRAM NUMBER, -- Identificator tabel/modul
ORDINE NUMBER
)
NOM_FDOC - Nomenclator Tipuri Documente
NOM_FDOC (
ID_FDOC NUMBER PRIMARY KEY,
FEL_DOCUMENT VARCHAR2(50),
STERS NUMBER,
ID_MOD NUMBER,
INACTIV NUMBER,
TIP_DOC VARCHAR2(5),
PAYMENTCODE VARCHAR2(10)
)
-- Exemple:
(1, 'ABONAMENT')
(3, 'AVANSURI')
(5, 'AVIZ EXP')
(6, 'BILET')
...
Package-uri Oracle
PACK_CONTAFIN (principal)
Proceduri principale:
INITIALIZEAZA_SCRIERE_ACT_RUL- Inițializare sesiuneSCRIE_IN_ACT- Transfer ACT_TEMP → ACTSCRIE_IN_BALANTA- Actualizare balanțăSCRIE_IN_RUL- Transfer RUL_TEMP → RULSCRIE_IN_STOC- Actualizare stocSCRIE_IN_IREG_PARTENERI- Actualizare evidență parteneriFINALIZEAZA_SCRIERE_ACT_RUL- Finalizare (apelează toate cele de mai sus)
PACK_FACTURARE (referință)
Exemple INSERT ACT_TEMP:
- Liniile 1000-1200 în package body
- Model pentru structura datelor
- NU pentru achiziții, dar util ca referință
PACK_PARTENERI
- Gestiune parteneri (furnizori, clienți)
- Căutare/creare partener după CUI
Conexiune Python
import oracledb
conn = oracledb.connect(
user="CONTAFIN_ORACLE",
password="ROMFASTSOFT",
dsn="10.0.20.121:1521/ROA"
)
# Toate operațiile folosesc schema MARIUSM_AUTO
cursor.execute("SELECT * FROM MARIUSM_AUTO.ACT WHERE ROWNUM <= 1")
Schema documentată de Echo • 2026-02-03