diff --git a/README.md b/README.md index f5ae8ad..202ffd8 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,168 @@ -# codbex-payments -## Payments Management Applications +# codbex-payments -### Model +## πŸ“– Table of Contents +* [πŸ—ΊοΈ Entity Data Model (EDM)](#️-entity-data-model-edm) +* [🧩 Core Entities](#-core-entities) +* [πŸ“¦ Dependencies](#-dependencies) +* [πŸ”— Sample Data Modules](#-sample-data-modules) +* [🐳 Local Development with Docker](#-local-development-with-docker) -![payments](images/payments-model.png) -### Application +## πŸ—ΊοΈ Entity Data Model (EDM) -#### Launchpad +![model](images/model.png) -![launchpad](images/payments-launchpad.png) +## 🧩 Core Entities -#### Management +### Entity: `CustomerPayment` -![customer](images/payments-customer-payment.png) +| Field | Type | Details | Description | +| ---------------- | --------- | ----------------------- | ------------------------- | +| Id | INTEGER | PK, Identity | Unique identifier. | +| Customer | INTEGER | FK, Not Null | Reference to customer. | +| Date | DATE | Not Null | Payment date. | +| Valor | DATE | Not Null | Value date. | +| OurPartyIBAN | VARCHAR | Length: 34, Not Null | Our IBAN. | +| CounterpartyIBAN | VARCHAR | Length: 34, Not Null | Counterparty IBAN. | +| CounterpartyName | VARCHAR | Length: 100, Nullable | Counterparty name. | +| Amount | DECIMAL | Precision: 16, Scale: 2, Not Null | Payment amount. | +| Currency | INTEGER | FK , Not Null | Currency reference. | +| Reason | VARCHAR | Length: 100, Not Null | Payment reason. | +| Description | VARCHAR | Length: 100, Nullable | Description. | +| Company | INTEGER | FK, Nullable | Company reference. | +| Name | VARCHAR | Calculated, Length: 20, Nullable | Payment name. | +| UUID | VARCHAR | Calculated, Length: 36, Unique | Unique identifier (UUID). | +| Reference | VARCHAR | Length: 36, Nullable | External reference( e.g. to Invoice) . | +| PaymentMethod | INTEGER | FK, Not Null | Payment method reference. | +| CreatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was created. | +| CreatedBy | VARCHAR | Audit, Length: 20, Nullable | User who created the entry. | +| UpdatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was updated. | +| UpdatedBy | VARCHAR | Audit, Length: 20, Nullable | User who updated the entry. | -![supplier](images/payments-supplier-payment.png) +### Entity: `SupplierPayment` -![employee](images/payments-employee-payment.png) +| Field | Type | Details | Description | +| ---------------- | --------- | ----------------------- | ------------------------- | +| Id | INTEGER | PK, Identity | Unique identifier. | +| Supplier | INTEGER | FK, Not Null | Reference to supplier. | +| Date | DATE | Not Null | Payment date. | +| Valor | DATE | Not Null | Value date. | +| OurPartyIban | VARCHAR | Length: 34, Not Null | Our IBAN. | +| CounterpartyIban | VARCHAR | Length: 34, Not Null | Counterparty IBAN. | +| CounterpartyName | VARCHAR | Length: 100, Nullable | Counterparty name. | +| Amount | DECIMAL | Precision: 16, Scale: 2, Not Null | Payment amount. | +| Currency | INTEGER | FK, Not Null | Currency reference. | +| Reason | VARCHAR | Length: 100, Not Null | Payment reason. | +| Description | VARCHAR | Length: 100, Nullable | Description. | +| Company | INTEGER | FK, Nullable | Company reference. | +| Name | VARCHAR | Calculated, Length: 20, Nullable | Payment name. | +| UUID | VARCHAR | Calculated, Length: 36, Unique | Unique identifier (UUID). | +| Reference | VARCHAR | Length: 36, Nullable | External reference (e.g. to Invoice) | +| PaymentMethod | INTEGER | FK, Not Null | Payment method reference. | +| CreatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was created. | +| CreatedBy | VARCHAR | Audit, Length: 20, Nullable | User who created the entry. | +| UpdatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was updated. | +| UpdatedBy | VARCHAR | Audit, Length: 20, Nullable | User who updated the entry. | -![settings](images/payments-settings.png) +### Entity `EmployeePayment` -![report](images/payments-payment-record-report.png) +| Field | Type | Details | Description | +| ---------------- | --------- | ----------------------- | ------------------------- | +| Id | INTEGER | PK, Identity | Unique identifier. | +| Employee | INTEGER | FK, Not Null | Reference to employee. | +| Date | DATE | Not Null | Payment date. | +| Valor | DATE | Not Null | Value date. | +| OurPartyIban | VARCHAR | Length: 34, Not Null | Our IBAN. | +| CounterpartyIban | VARCHAR | Length: 34, Not Null | Counterparty IBAN. | +| CounterpartyName | VARCHAR | Length: 100, Nullable | Counterparty name. | +| Amount | DECIMAL | Precision: 16, Scale: 2, Not Null | Payment amount. | +| Currency | INTEGER | FK, Not Null | Currency reference. | +| Reason | VARCHAR | Length: 100, Not Null | Payment reason. | +| Description | VARCHAR | Length: 100, Nullable | Description. | +| Company | INTEGER | FK, Nullable | Company reference. | +| Name | VARCHAR | Calculated, Length: 20, Nullable | Payment name. | +| UUID | VARCHAR | Calculated, Length: 36, Unique | UUID. | +| Reference | VARCHAR | Length: 36, Nullable | External reference. | +| PaymentMethod | INTEGER | FK, Nullable | Payment method reference. | +| CreatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was created. | +| CreatedBy | VARCHAR | Audit, Length: 20, Nullable | User who created the entry. | +| UpdatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was updated. | +| UpdatedBy | VARCHAR | Audit, Length: 20, Nullable | User who updated the entry. | -## Local Development with Docker +### Entity `PaymentRecord` + +| Field | Type | Details | Description | +| ---------------- | --------- | ----------------------- | -------------------- | +| Id | INTEGER | PK, Identity | Unique identifier. | +| Date | DATE | Not Null | Payment date. | +| Valor | DATE | Not Null | Value date. | +| OurPartyIban | VARCHAR | Length: 34, Not Null | Our IBAN. | +| CounterpartyIban | VARCHAR | Length: 34, Not Null | Counterparty IBAN. | +| CounterpartyName | VARCHAR | Length: 100, Nullable | Counterparty name. | +| Amount | DECIMAL | Precision: 16, Scale: 2, Not Null | Amount. | +| Currency | INTEGER | FK, Not Null | Currency reference. | +| PaymentDirection | INTEGER | FK, Not Null | Payment direction. | +| PaymentType | INTEGER | FK, Not Null | Payment type. | +| Reason | VARCHAR | Length: 100, Nullable | Reason. | +| Description | VARCHAR | Length: 100, Nullable | Description. | +| Company | INTEGER | FK, Nullable | Company reference. | +| UUID | VARCHAR | Calculated, Length: 36, Unique | UUID. | +| Reference | VARCHAR | Length: 36, Nullable | Reference. | +| Deleted | BOOLEAN | Nullable | Soft delete flag. | +| DeletedAt | TIMESTAMP | Nullable | Deletion timestamp. | +| DeletedReason | VARCHAR | Length: 255, Nullable | Reason for deletion. | +| CreatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was created. | +| CreatedBy | VARCHAR | Audit, Length: 20, Nullable | User who created the entry. | +| UpdatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was updated. | +| UpdatedBy | VARCHAR | Audit, Length: 20, Nullable | User who updated the entry. | + +### Entity `PaymentType` + +| Field | Type | Details | Description | +| ----- | ------- | ------------ | ------------------ | +| Id | INTEGER | PK, Identity | Unique identifier. | +| Name | VARCHAR | Length: 20, Not Null | Payment type name. | + +### Entity `PaymentDirection` + +| Field | Type | Details | Description | +| ----- | ------- | ------------ | ----------------------- | +| Id | INTEGER | PK, Identity | Unique identifier. | +| Name | VARCHAR | Length: 20, Not Null | Payment direction name. | + +### Entity `PaymentAdjustment` + +| Field | Type | Details | Description | +| --------- | --------- | ---------------------------- | ------------------- | +| Id | INTEGER | PK, Identity | Unique identifier. | +| Date | DATE | Not Null | Adjustment date. | +| Valor | DATE | Not Null | Value date. | +| Amount | DECIMAL | Precision: 16, Scale: 2, Not Null | Adjustment amount. | +| Currency | INTEGER | FK, Not Null | Currency reference. | +| Company | INTEGER | FK, Not Null | Company reference. | +| Reason | VARCHAR | Length: 100, Nullable | Reason. | +| UUID | VARCHAR | Calculated, Length: 36, Unique | UUID. | +| CreatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was created. | +| CreatedBy | VARCHAR | Audit, Length: 20, Nullable | User who created the entry. | +| UpdatedAt | TIMESTAMP | Audit, Nullable | Timestamp when the entry was updated. | +| UpdatedBy | VARCHAR | Audit, Length: 20, Nullable | User who updated the entry. | + + + +## πŸ“¦ Dependencies + +- [codbex-partners](https://github.com/codbex/codbex-partners) +- [codbex-companies](https://github.com/codbex/codbex-companies) +- [codbex-employees](https://github.com/codbex/codbex-employees) +- [codbex-currencies](https://github.com/codbex/codbex-currencies) +- [codbex-number-generator](https://github.com/codbex/codbex-number-generator) +- [codbex-number-generator-data](https://github.com/codbex/codbex-number-generator-data) +- [codbex-navigation-groups](https://github.com/codbex/codbex-navigation-groups) + +## πŸ”— Sample Data Modules + +- [codbex-payments-data](https://github.com/codbex/codbex-payments-data) + +## 🐳 Local Development with Docker When running this project inside the codbex Atlas Docker image, you must provide authentication for installing dependencies from GitHub Packages. 1. Create a GitHub Personal Access Token (PAT) with `read:packages` scope. diff --git a/images/model.png b/images/model.png new file mode 100644 index 0000000..beed17e Binary files /dev/null and b/images/model.png differ diff --git a/images/payments-customer-payment.png b/images/payments-customer-payment.png deleted file mode 100644 index 94ab31a..0000000 Binary files a/images/payments-customer-payment.png and /dev/null differ diff --git a/images/payments-employee-payment.png b/images/payments-employee-payment.png deleted file mode 100644 index 641d53a..0000000 Binary files a/images/payments-employee-payment.png and /dev/null differ diff --git a/images/payments-launchpad.png b/images/payments-launchpad.png deleted file mode 100644 index f6c85c4..0000000 Binary files a/images/payments-launchpad.png and /dev/null differ diff --git a/images/payments-model.png b/images/payments-model.png deleted file mode 100644 index 564b9aa..0000000 Binary files a/images/payments-model.png and /dev/null differ diff --git a/images/payments-payment-record-report.png b/images/payments-payment-record-report.png deleted file mode 100644 index db40e21..0000000 Binary files a/images/payments-payment-record-report.png and /dev/null differ diff --git a/images/payments-payment-record.png b/images/payments-payment-record.png deleted file mode 100644 index 7c8a524..0000000 Binary files a/images/payments-payment-record.png and /dev/null differ diff --git a/images/payments-settings.png b/images/payments-settings.png deleted file mode 100644 index 26d6693..0000000 Binary files a/images/payments-settings.png and /dev/null differ diff --git a/images/payments-supplier-payment.png b/images/payments-supplier-payment.png deleted file mode 100644 index 64b2e25..0000000 Binary files a/images/payments-supplier-payment.png and /dev/null differ