Banki import — véglegesítés, storno, kihagyás, törlés

A staged tételekből készülő bizonylat lépései, a dupla-védelem és az import-sor egyenleg-egyezés, a storno és a kihagyás szabályai, valamint a jogok.

A véglegesítés (final, finalizerow) a staged tételekből banki bizonylatot (transaction fej + tételek) készít, rendezi a számlák kintlévőségét, és a sort Booked állapotba teszi. A sor csak akkor lesz könyvelt, ha legalább egy élő bizonylat tartozik hozzá, és az egyenlege egyezik.

Véglegesítés (finalizeAllStagedTransactions())

  1. Minden (vagy egy) 1-es státuszú sort értéknap szerint dolgoz fel, adatbázis-tranzakcióban.
  2. Dupla-védelem: ha már van élő bizonylat a sorhoz, kihagyja.
  3. Fej + tételek a staged tételekből; sorszám bankszámla-irány-sorszám formában (finance/transaction::nextTransactionNo, ennek híján IMP- előtag a sor azonosítójával); értéknap, kivonatszám, nyitó és záró egyenleg.
  4. A számla kintlévősége rendeződik; a fizetési megbízás tételei „bank settled” állapotba kerülnek (paymentorder::markItemsBankSettled); cross-client tükör-draft készül; a partner-bankszámla a partnerhez kötődik.
  5. Végül az import-sor egyenlegét összeveti a bizonylatokéval (importRowBalance()); eltérésnél visszagörget. Siker esetén a sor Booked.
  6. Soronkénti adatbázis-hibák a válaszban (error_finalize_row).

Storno (stornorow)

A sor bizonylatait a finance/transaction::deleteTransactionWithRollback() törli (a kintlévőség visszaíródik); ha nincs bizonylat (árva sor), a sort New-ra állítja. Véglegesített (status 1) bizonylatnál tilt: előbb a bizonylat-modulban piszkozatra kell állítani.

Kihagyás és törlés (delete)

  • skip: a sort 5-ös státuszra teszi (staged tételek törlődnek); ismételt hívásra 5 → 0.
  • delete: a RAW sort és staged tételeit fizikailag törli; a sablonban nincs rá gomb.
  • Booked (2) sor nem kihagyható és nem törölhető.

Adatmodell

A táblanevek a telepítés saját előtagjával állnak az adatbázisban: transaction, transaction_item, transaction_settlement, invoice, transaction_import_row, transaction_import_staged, payment_order_item, bankaccount (egyenleg).

Jogosultság

  • final + core modify: final, finalizerow, stornorow. A finalizerow és a stornorow tartalmi hatókört néz (a sor owner_account-jából feloldott cég az engedett körben); a csoportos final-nál tartalmi hatókör nincs.
  • delete + core modify: skip, delete.
  • Egyik kulcs sincs a katalógus-seedekben.