feat(process_bon): script complet procesare bonuri fiscale
- 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)
This commit is contained in:
275
memory/kb/projects/roa2web-telegram-import/schema-oracle.md
Normal file
275
memory/kb/projects/roa2web-telegram-import/schema-oracle.md
Normal file
@@ -0,0 +1,275 @@
|
||||
# Schema Oracle - ROA (MARIUSM_AUTO)
|
||||
|
||||
**Actualizat:** 2026-02-03
|
||||
|
||||
---
|
||||
|
||||
## Tabele Principale
|
||||
|
||||
### ACT - Note Contabile
|
||||
|
||||
```sql
|
||||
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
|
||||
|
||||
```sql
|
||||
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
|
||||
|
||||
```sql
|
||||
(0, 'INTRARE/IESIRE REALA')
|
||||
(1, 'TRANSFER')
|
||||
(2, 'RULAJ CMP')
|
||||
(6, 'INVENTARIERE')
|
||||
```
|
||||
|
||||
### STOC - Stocuri
|
||||
|
||||
```sql
|
||||
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
|
||||
|
||||
```sql
|
||||
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
|
||||
|
||||
```sql
|
||||
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
|
||||
|
||||
```sql
|
||||
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
|
||||
|
||||
```sql
|
||||
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
|
||||
|
||||
```sql
|
||||
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 sesiune
|
||||
- `SCRIE_IN_ACT` - Transfer ACT_TEMP → ACT
|
||||
- `SCRIE_IN_BALANTA` - Actualizare balanță
|
||||
- `SCRIE_IN_RUL` - Transfer RUL_TEMP → RUL
|
||||
- `SCRIE_IN_STOC` - Actualizare stoc
|
||||
- `SCRIE_IN_IREG_PARTENERI` - Actualizare evidență parteneri
|
||||
- `FINALIZEAZA_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
|
||||
|
||||
```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*
|
||||
Reference in New Issue
Block a user