Sincronizare bancară¶
Odoo poate prelua automat tranzacțiile bancare, în loc să încărcați zilnic un fișier de extras. Modulele Online Bank Sync conectează un cont bancar sau de plată la un jurnal Odoo, interoghează furnizorul la un interval fix și creează liniile de extras bancar corespunzătoare, gata pentru reconciliere.
Funcționalitatea este împărțită în două straturi:
Online Bank Sync (
account_bank_sync) asigură conexiunile, conturile la distanță, maparea jurnalelor, importul programat și stocarea securizată a credențialelor furnizorului.Un modul furnizor implementează o anumită instituție sau un anumit agregator. Sunt disponibile trei:
Enable Banking (PSD2) (
account_bank_sync_enablebanking) — un furnizor de informații despre conturi PSD2 pentru băncile din Spania și din alte țări europene, cu un consimțământ acordat la bancă. Consultați Enable Banking (PSD2).Nyíltbankolás Partner (
account_bank_sync_bankszamlakivonat) — un agregator multibancar care acoperă băncile din Ungaria prin serviciulbankszamlakivonat.hu.Wise (
account_bank_sync_wise) — soldurile multivalutare Wise (fost TransferWise), inclusiv plățile efectuate.
Notă
Sincronizarea online necesită cel puțin un modul furnizor. Dacă banca dumneavoastră nu este acoperită de un furnizor, importați în schimb fișierele de extras.
Import de fișiere sau sincronizare online?¶
Ambele metode ajung în același loc: linii de extras bancar într-un jurnal bancar, gata pentru reconciliere. Alegeți în funcție de ceea ce oferă banca dumneavoastră și de cât de recente trebuie să fie datele.
Sincronizare online |
||
|---|---|---|
Actualitatea datelor |
Cât de recent este ultimul fișier descărcat. |
Automată; rulări programate și un buton manual Sincronizează acum. |
Configurare |
Nu trebuie configurat nimic în afară de contul bancar și de jurnal. |
Un cont la furnizor, credențiale și, pentru băncile PSD2, un consimțământ acordat la bancă. |
Întreținere |
Cineva descarcă și încarcă periodic un fișier. |
Consimțământul trebuie reînnoit la bancă (PSD2: cel mult la fiecare 180 de zile), iar numărul de apeluri automate pe zi este limitat de bancă. |
Istoric |
Orice perioadă acoperită de fișier. |
Începe în momentul realizării conexiunii; istoricul mai vechi nu este preluat. |
Cele două metode funcționează bine împreună. Conectați jurnalul pentru fluxul zilnic, apoi completați istoricul mai vechi dintr-un fișier de extras. Când sunt instalate atât Online Bank Sync, cât și importul de fișiere, liniile din fișier care au fost deja înregistrate de sincronizare sunt omise automat.
Drepturi de acces¶
Sincronizarea introduce propriile grupuri de acces, pe care le atribuiți în , în categoria Sincronizare bancară online:
Grup |
Drepturi |
|---|---|
Sincronizare bancară / Utilizator |
Citește starea și rezultatele sincronizării. Fără acces la credențiale. |
Sincronizare bancară / Manager |
Configurează conexiunile, conturile și maparea jurnalelor. Necesar pentru a vedea meniul Sincronizare bancară. Fără acces la credențiale. |
Sincronizare bancară / Aprobator plăți |
Aprobă și trimite plățile efectuate. |
Sincronizare bancară / Administrator |
Citește și scrie credențialele și secretele furnizorului, precum cheile private. |
Grupurile se construiesc unele pe altele: Manager include Utilizator, iar Aprobator plăți și Administrator includ ambele Manager.
Atenționare
Grupul Sincronizare bancară / Administrator acordă și drepturile de administrator pentru Setări. Atribuiți-l numai persoanelor care pot administra întreaga bază de date.
Crearea unei conexiuni¶
Accesați și faceți clic pe Nou. Completați:
Nume: o etichetă la alegere, de exemplu numele băncii.
Furnizor: modulul furnizor care gestionează această instituție.
Mediu: Sandbox pentru testare, Production pentru date reale.
Secțiunea Credențiale, ale cărei câmpuri depind de furnizorul selectat. Secretele, precum cheile private, sunt vizibile numai pentru grupul Sincronizare bancară / Administrator.
Secțiunea Capabilități este completată de modulul furnizor și indică ce acceptă conexiunea: Acceptă preluarea extraselor, Acceptă cursuri valutare, Acceptă webhook-uri, Acceptă plăți și Supports consent redirect.
Faceți clic pe Testează conexiunea pentru a verifica credențialele: o notificare confirmă că furnizorul a răspuns, iar dacă acesta refuză credențialele, motivul este afișat într-un mesaj de eroare.
Bara de stare arată situația conexiunii. Modul în care o conexiune devine Conectat depinde de furnizor: la Wise, printr-un Testează conexiunea reușit; la Nyíltbankolás, prin finalizarea asocierii (Reîmprospătare / descoperire); la Enable Banking, prin consimțământul acordat la bancă. O autorizare bancară eșuată setează starea la Eroare și stochează motivul în Ultima eroare. O conexiune al cărei consimțământ a expirat este setată la Expirat și trebuie reînnoită, consultați Consimțământul bancar și expirarea.
- menu
- Accounting ‣ Bank Sync ‣ Connections ‣ (open a connection)
- shows
- A connection form in state "Connected", with the Name, Provider, Environment, Last refresh fields, a filled Credentials section and the five Capabilities checkboxes.
- highlight
- The status bar and the "Test connection" / "Discover accounts" buttons.
- data
- Connection "OTP – Nyíltbankolás", provider "Nyíltbankolás Partner", environment "Production".
- module
- account_bank_sync, account_bank_sync_bankszamlakivonat
- notes
- English UI, light theme, 1440px width; use a throw-away API key.
Nyíltbankolás Partner¶
Agregatorul se conectează la băncile din Ungaria în numele dumneavoastră. Introduceți ID entitate Nyíltbankolás și Cheie API Nyíltbankolás primite de la serviciu, apoi faceți clic pe Obține codul de conexiune. Odoo solicită un cod de conexiune, afișat în câmpul Cod de conexiune: utilizați-l pe site-ul furnizorului pentru a autoriza conturile dumneavoastră bancare. După finalizarea autorizării, faceți clic pe Reîmprospătare / descoperire: conexiunea devine Conectat, iar lista conturilor autorizate este preluată în Odoo. Solicitarea unui nou cod de conexiune readuce conexiunea la starea Ciornă până la finalizarea din nou a asocierii.
Wise¶
Introduceți ID profil Wise și Token API Wise. Pentru plățile efectuate, Wise necesită, de asemenea, o Cheie privată RSA SCA Wise (PEM) utilizată pentru semnarea provocărilor de autentificare puternică a clientului (SCA), iar pentru livrarea webhook-urilor, Cheie publică webhook Wise (PEM) publicată de Wise pentru mediul ales. Utilizați Abonează webhook-uri pentru a înregistra Odoo la Wise, astfel încât tranzacțiile noi să declanșeze o reîmprospătare imediată, și Dezabonează webhook-uri pentru a le opri.
Important
Evenimentele webhook sunt livrate la /bank_sync/webhook/<provider> din baza dumneavoastră de date. Verificarea semnăturii eșuează în mod sigur: un eveniment care nu poate fi verificat este respins. Rugați administratorul de sistem să se asigure că această adresă este accesibilă de pe internet.
Consimțământul bancar și expirarea¶
Furnizorii care citesc conturile dumneavoastră prin PSD2 (în prezent Enable Banking) nu folosesc o parolă stocată în Odoo. În schimb, acordați un consimțământ la banca dumneavoastră, cu autentificarea puternică a clientului specifică băncii. Secțiunea Bank consent a conexiunii, afișată pentru astfel de furnizori, conține setările:
Account holder type: Business (implicit) sau Personal, tipul de autentificare în serviciul bancar online pe care îl utilizați la bancă.
Consent valid until: sfârșitul consimțământului. PSD2 permite cel mult 180 de zile, iar o bancă poate acorda mai puțin.
Consent responsible: utilizatorul care primește memento-ul de reînnoire (în mod implicit, utilizatorul care a creat conexiunea).
Remind days before expiry: cu câte zile înainte este creat memento-ul (implicit 7).
Max. unattended syncs per day: câte sincronizări programate permite banca pe cont și pe zi (consultați Rularea unei sincronizări). Enable Banking stabilește 4.
Faceți clic pe Connect to bank pentru a deschide pagina de autorizare a băncii. Când reveniți în Odoo, conexiunea este Conectat, iar Consent valid until este completat. Un mesaj este înregistrat în chatter-ul conexiunii. Dacă autorizarea este refuzată sau durează mai mult de o oră, se afișează o pagină de eroare cu un link înapoi la conexiuni; începeți din nou cu Connect to bank.
O dată pe zi, acțiunea programată Online Bank Sync: consent expiry reminder (activată implicit) face două lucruri:
când mai sunt Remind days before expiry zile până la sfârșitul consimțământului, programează o activitate Reînnoiți consimțământul bancar pentru Consent responsible;
când consimțământul a luat sfârșit, setează conexiunea la Expirat și înregistrează un mesaj.
O conexiune expirată nu mai este apelată: conturile sale afișează eroarea The bank consent expired on … până când faceți clic pe Renew consent și autorizați din nou la bancă. Conturile, maparea jurnalelor și istoricul importat sunt păstrate, iar următoarea sincronizare recuperează de la ultima rulare reușită (în limita a ceea ce banca mai livrează).
Maparea conturilor la distanță la jurnale¶
Pe o conexiune în starea conectat, faceți clic pe Descoperă conturi. Odoo interoghează furnizorul și creează o înregistrare Cont sincronizare bancară pentru fiecare cont sau sold la distanță. Deschideți și setați, pentru fiecare dintre ele:
Jurnal: jurnalul bancar în care sunt înregistrate tranzacțiile. Nu se importă nimic până când nu este setat un jurnal.
Sync enabled: activează importul programat pentru acest cont. Este dezactivat implicit, inclusiv pentru conturile descoperite de un furnizor.
Sincronizează la fiecare: intervalul de interogare (de exemplu, 1 oră). Pentru un furnizor cu o limită zilnică de apeluri, Odoo nu interoghează niciodată mai des decât permite limita (la fiecare 6 ore pentru 4 apeluri pe zi).
Vizualizarea listă afișează Last successful run și o insignă colorată Last state (OK, În desfășurare, Eroare), astfel încât să puteți observa dintr-o privire un cont care a încetat să importe. Coloana opțională Balance difference aparține verificării soldului.
După maparea unui jurnal, setarea sa Fluxuri bancare (fila Înregistrări în jurnal a jurnalului) este setată la Sincronizare bancară online, iar cardul jurnalului din Accounting Dashboard primește un buton Sincronizează acum. Fișierele de extras pot fi în continuare importate în jurnal, consultați Încărcarea istoricului într-un jurnal sincronizat online.
- menu
- Accounting ‣ Bank Sync ‣ Accounts
- shows
- The Accounts list with three rows: connection, account name, currency, mapped journal, the "Sync enabled" toggle, the last successful run and the colored state badges (one "Ok", one "Error").
- highlight
- The "Last state" column (red frame).
- data
- Two HUF accounts mapped to "Bank" and "Bank (OTP)", one EUR Wise balance.
- module
- account_bank_sync
- notes
- English UI, light theme, 1440px width.
Rularea unei sincronizări¶
O sincronizare poate rula în trei moduri:
Programată: acțiunea programată Online Bank Sync: pull statements verifică la fiecare 15 minute ce conturi sunt scadente și le importă. Această acțiune programată este dezactivată implicit; rugați administratorul de sistem să o activeze după ce maparea este realizată.
Manuală: faceți clic pe Sincronizează acum pe formularul contului sau pe cardul jurnalului din Accounting Dashboard. Rulările manuale se fac cât timp sunteți prezent, deci nu consumă limita zilnică a rulărilor programate descrisă mai jos.
Declanșată prin webhook: pentru furnizorii care acceptă webhook-uri, un eveniment primit marchează contul, iar următoarea rulare programată îl importă imediat, chiar dacă interogarea periodică este dezactivată.
Fiecare rulare preia tranzacțiile de la ultima rulare reușită, cu o suprapunere de 48 de ore, astfel încât tranzacțiile pe care banca le postează cu întârziere să nu fie ratate. Importul este idempotent: o tranzacție deja prezentă în jurnal este omisă, astfel încât rularea unei sincronizări de două ori nu creează niciodată dubluri.
Notă
O sincronizare privește înapoi doar o perioadă scurtă înainte de prima rulare. Nu încarcă istoricul anterior conexiunii: importați-l dintr-un fișier de extras, consultați Încărcarea istoricului într-un jurnal sincronizat online.
Limita zilnică a băncilor PSD2. PSD2 permite unei bănci să refuze mai mult de 4 solicitări de cont pe zi atunci când clientul nu este prezent. Când conexiunea are o valoare în Max. unattended syncs per day, rulările programate se opresc pentru restul zilei (UTC) odată ce acest număr este atins pentru un cont și se reiau a doua zi. Rulările manuale nu sunt contorizate.
Dacă o rulare eșuează, contul este setat la Eroare, iar mesajul este stocat în Ultima eroare; celelalte conturi nu sunt afectate. Credențialele și token-urile sunt eliminate din mesajele stocate.
Atenționare
Sincronizează acum afișează Bank sync finished. chiar și atunci când rularea a eșuat, deoarece eroarea este înregistrată pe cont în loc să fie ridicată. După o sincronizare manuală, verificați Last state și Ultima eroare pe cont.
Verificarea soldului¶
Când furnizorul raportează soldul contului (Enable Banking o face), fiecare rulare reușită compară soldul înregistrat al băncii cu soldul contului bancar al jurnalului din contabilitatea dumneavoastră, până la data soldului bancar. Se iau în considerare numai înregistrările postate. Formularul contului afișează rezultatul în secțiunea Balance check (Sold, Bank balance date, Accounting balance și Balance difference, în roșu când nu este zero).
Când cele două diferă, cardul jurnalului din Accounting Dashboard afișează un avertisment Balance differs lângă Sincronizează acum. Motivele uzuale sunt:
soldul contului dinaintea primei tranzacții importate nu a fost niciodată înregistrat în Odoo. Postați o înregistrare de sold inițial în contul bancar al jurnalului;
tranzacții încă lipsesc, de exemplu deoarece istoricul nu a fost completat retroactiv;
o tranzacție este încă în curs la bancă: Enable Banking importă numai tranzacțiile înregistrate.
Verificarea este un control, nu o corecție: nu se înregistrează nimic automat.
Plăți efectuate¶
Furnizorii care acceptă plăți efectuate (în prezent Wise) pot, de asemenea, să trimită bani din Odoo. Deoarece aceasta mișcă fonduri reale, plățile efectuate sunt protejate printr-un flux de lucru inițiator–verificator.
Configurare¶
Pe formularul conexiunii, în secțiunea Controale plăți:
Payout enabled: indicatorul funcționalității, editabil numai de grupul Sincronizare bancară / Administrator. Plățile efectuate rămân imposibile cât timp este dezactivat, chiar dacă furnizorul le acceptă.
Payout dual control threshold: peste această sumă, o a doua persoană trebuie să aprobe. Setați-o la 0 pentru a solicita întotdeauna un aprobator distinct.
Payout per tx limit: cea mai mare plată individuală permisă. 0 înseamnă fără limită.
Payout daily limit: cel mai mare total care poate fi aprobat pe zi (UTC). 0 înseamnă fără limită.
Crearea și trimiterea unei plăți¶
Accesați și faceți clic pe Nou. Setați Beneficiar, Recipient bank account, Sumă și moneda, precum și o Payment reference (maximum 35 de caractere, conform cerințelor SEPA). Apoi utilizați butoanele din antet:
Citat solicită furnizorului cursul de schimb și comisionul, afișate în secțiunea Citat împreună cu un termen de expirare.
Solicitare trimite plata spre aprobare. Aplicarea controlului dual este stabilită definitiv în acest moment, astfel încât creșterea ulterioară a pragului nu îl poate slăbi.
Aprobă este realizată de un utilizator din grupul Sincronizare bancară / Aprobator plăți. Când se aplică controlul dual, aprobatorul trebuie să fie o persoană diferită de cea care a făcut solicitarea.
Trimite prin Wise transmite plata către furnizor.
Bara de stare urmărește plata prin Ciornă, Verificator în așteptare, Aprobat(ă), Trimis, Executat și Reconciliat, cu Eșuat și Anulat ca rezultate alternative. Anulează este disponibil până la executarea plății. După ce furnizorul confirmă transferul, chitanța plății poate fi preluată și stocată pe înregistrare.
Notă
Fiecare plată poartă o cheie de idempotență, astfel încât o problemă de rețea în timpul trimiterii nu poate duce niciodată la transferul banilor de două ori.
Loturi de plăți¶
Pentru a plăti mai mulți beneficiari simultan, utilizați . Un lot își conține plățile în fila Membri și oferă aceiași pași la nivel de lot: Ofertează toate, Solicitare, Aprobă, Trimite, Retur și Anulează. Limitele și regula controlului dual ale conexiunii se aplică totalului lotului.
- menu
- Accounting ‣ Bank Sync ‣ Payouts ‣ (open a payout)
- shows
- A payout form in state "Pending checker" with the header buttons Quote / Request / Approve / Send via Wise / Cancel, the Payee, amount and payment reference, and the Quote section showing the rate, the fee and the expiry.
- highlight
- The status bar and the Approval section (requester and approver).
- data
- Payee "Deco Addict", amount 1,250.00 EUR, reference "INV/2026/0042".
- module
- account_bank_sync, account_bank_sync_wise
- notes
- English UI, light theme, 1440px width.