BankAccount
BankAccount (rachunek bankowy) to zasób reprezentujący rachunek bankowy – numer rachunku (IBAN lub inny), nazwa banku, kod SWIFT/BIC. Może należeć do strony (Party – rachunek kontrahenta, pracownika) lub do jednostki księgowej (wtedy opcjonalnie powiązany z kontem księgowym wskazanym przez referencję). Używany w dokumentach księgowych (np. pole płatności – na jaki rachunek), w kartotece kontrahenta (rachunki do przelewów), w buforze księgowym (rachunek płatności). Wzorowany na SAP (Bank Account, House Bank), Oracle (Bank Account), UBL 2.3 (FinancialAccount), ISO 20022 (CashAccount).
Rozszerza DomainResource.
1. Zakres i zastosowanie
BankAccount = jeden rachunek bankowy: accountNumber (numer IBAN lub lokalny), bankName, swiftCode (BIC), opcjonalnie owner (z DomainResource – Reference do Party – czyj to rachunek), ledgerAccount (referencja do konta w planie kont), currency (waluta rachunku), isDefault. Identyfikacja przez identifier[] (numer rachunku z rodzajem account-number).
- Rachunek kontrahenta – rachunki kontrahenta są dostarczane w contained zasobu Party (profil
Contractor); w dokumencie (faktura, płatność) valueReference do BankAccount lub Party + konwencja. - Rachunek własny firmy – owner = Party (firma) lub puste; ledgerAccount = konto księgowe (np. 1310 – Rachunek bankowy).
- Dokument księgowy – pole „rachunek płatności” to Reference(BankAccount) albo identyfikator rodzaju
payment-account.
2. Zawartość (struktura)
Oprócz elementów DomainResource (id, resourceType, meta, owner, comment, category, status, type, contained, attribute):
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| identifier | 0..* | Identifier | Identyfikatory rachunku – numer rachunku w przestrzeni wdrożenia (system z NamingSystem) |
| accountNumber | 0..1 | string | Numer konta (IBAN / lokalny) |
| bankName | 0..1 | string | Nazwa banku |
| swiftCode | 0..1 | string | Kod SWIFT/BIC banku |
| ledgerAccount | 0..1 | Reference | Konto księgowe – referencja do konta w planie kont (gdy rachunek własny firmy ewidencjonowany na koncie); puste dla rachunków kontrahentów |
| currency | 0..1 | CodeableConcept | Waluta rachunku (np. PLN, EUR) |
| isDefault | 0..1 | boolean | Rachunek domyślny (np. u kontrahenta – główny rachunek do przelewów) |
Uwaga: owner (0.., z DomainResource) wskazuje właściciela rachunku (kontrahent, firma, pracownik). accountNumber występuje w dedykowanym polu i jednocześnie w identifier (przestrzeń wdrożeniowa). status* (z DomainResource) – słownik finance/bank-account-status (active, inactive).
3. Operacje
BankAccount nie ma własnej kolekcji w API. Rachunki kontrahenta są zwracane w tablicy contained zasobu Party (GET /v1/parties, profil Contractor) i referowane lokalnie (#id).
4. Zgodność z systemami ERP
| System | Odpowiednik | Uwagi |
|---|---|---|
| SAP | House Bank, Bank Account (FI), BP Bank Details | Numer, bank, SWIFT; powiązanie z kontem księgowym |
| Oracle | Bank Account, CE Bank Accounts | Account number, bank, currency |
| UBL 2.3 | FinancialAccount, ID (IBAN) | Payment means, account ID |
| ISO 20022 | CashAccount, AccountIdentification | Identyfikacja rachunku w płatności |
5. Odniesienia
- DomainResource, Party (owner, contained – rachunek kontrahenta/firmy), DocumentReference / DocumentPosition (valueReference – rachunek płatności)
- Identifier, Reference, CodeableConcept