# PartnerBankAccount

## Description

PartnerBankAccount stores reusable identity-level bank details owned by a BusinessPartner. Transaction purpose and default selection are configured per CustomerAccount or SupplierAccount through usage tables.

## Domain Model Definitions

### Model type

Standard
### Command Definitions

- [createPartnerBankAccount](../command/CreatePartnerBankAccount.md) - Add a reusable bank account
- [updatePartnerBankAccount](../command/UpdatePartnerBankAccount.md) - Update bank details
- [deactivatePartnerBankAccount](../command/DeactivatePartnerBankAccount.md) - Retire bank details from new usages
- [reactivatePartnerBankAccount](../command/ReactivatePartnerBankAccount.md) - Make retired bank details available again
### Query Definitions

None.

### Models

- PartnerBankAccount
### Invariants

- Bank name and account holder name are required
- Account number is required and must be non-empty
- Currency must exist
- New bank accounts start active and are never physically deleted
- Inactive bank accounts cannot be assigned to new CustomerAccount or SupplierAccount usages
- Default flags do not belong to this model
### Relationships

- **References BusinessPartner**: Bank account owner
- **References Currency**: Account currency
- **Referenced By CustomerBankAccountUsage**: Customer-specific purposes
- **Referenced By SupplierBankAccountUsage**: Supplier-specific purposes
