Banki import — soronkénti felismerés, kézi párosítás, szabályok

A process, assign és rule funkciójogok végpontjai, a javaslat-motor sorrendje, a staged tételek írása, a jogellenőrzési hiányok és a szabály-kezelés.

A kézi beavatkozás végpontjai a process, az assign és a rule funkciójog alatt élnek (egyik sincs a katalógus-seedekben). Néhány végpont csak az alap módosítási jogot nézi.

Soronkénti felismerés (process)

  • recognizerow: a motor csak az adott sorra (új vagy újrapróbálandó); ha nem ismer fel, a figyelmeztetésben kiírja, melyik szabály melyik feltételen bukott el és mit hasonlított (explainRowRules).
  • clearstaged: a staged tételeket törli, a sort New-ra állítja (szabály, javasolt számla, partner ürül); csak 1-es vagy 4-es státuszon.
  • Jog: core modify + process; tartalmi hatókör ezeken a végpontokon nincs.

Kézi párosítás (assign)

  1. A modal a sor clientjének (a kivonat tulajdonosa; a szerver a bankszámla-kötésből vagy az owner_account-ból oldja fel) nyitott vagy kért számláit keresi (autocompleteInvoice, suggest); deviza-számlánál devizában és árfolyammal is. A javaslat-motor sorrendje: bankszámla + név > név > érték > számlaszám. Tükör-draft jelzés: draftmatch.
  2. Mentés (assignMultipleInvoices): a kiválasztott számlák (lista vagy számla → összeg térkép, deviza-összeggel és árfolyammal) staged tételként rögzülnek; 2 Ft feletti maradék külön „függő” staged sor.
  3. updatestaged: a staged tételek neve és összege véglegesítés előtt.
  4. createcompany: minimál partner-cég a company modellen át (név-dedup, nem client; név legalább 3 karakter).
  5. repointpartner: a finance/invoice::repointInvoicePartner hívása; a számla tulajdonos-clientjére jogot kér.

Jog: assign (a updatestaged, createcompany, repointpartner végponton core modify is); az autocompleteInvoice és a suggest a getCompanyGroupFilter engedett clientjeire szűr.

Szabályok (rule)

rulestatus (be/ki) és ruledelete — törlés csak akkor, ha egy sor sem hivatkozik rá (matched_rule_id), különben hiba a darabszámmal. A bank/bankrule modul jogai helyett is elfogadott. Jog: core modify + rule. A „Create rule” a bank/bankrule.form-ra visz.

Csak core jogot néző végpontok

  • unidentified: egy „beazonosítatlan” staged tétel a sor teljes összegével (irány szerint partner/tulajdonos), a sor Recognized lesz.
  • assignBankaccount: a sor partner-számlaszámát (GIRO/IBAN) egy céghez köti (assignIbanToCompany, dedup a normalizált számlára).
  • insert: régi út, a staged sorból a modell saját addTransaction()-jével közvetlen bizonylat; a sablon nem hívja.
  • exporttemplate: banki export-sablon a kivonatsorból (cél-számla + partner + közlemény, összeg 0), dedup a normalizált cél-számlára; jog: bankexport::edit + core modify.

Adatmodell

A táblanevek a telepítés saját előtagjával állnak az adatbázisban: transaction_import_staged, transaction_import_row, transaction_rule, invoice, company, transaction (tükör-draft).

Ismert korlátok

A mentő assignMultipleInvoices csak a core modify jogot nézi, assign funkciójogot és tartalmi hatókört nem. Az unidentified, az assignBankaccount és az insert szintén csak core modify jogot néz.
Kapcsolódó témák: párosítás bankkivonat jogosultság