This page contains examples of issues with Data consistency in Folio. The issues could fall into one of the following categories:
- There is no logic to make sure a data is consistent across a set of modules
- There is a logic to perform data consistency, but it isn't reliable and can lead to inconsistent data in a set of modules
Business Flows
Approve invoice (mod-invoice)
- Fetch invoice (mod-invoice)
- Process prorated adjustment (mod-invoice)
2.1. Fetch invoice lines by invoice id (mod-invoice → mod-invoice-storage)
2.2. Persist invoice lines (mod-invoice → mod-invoice-storage)
- Update invoice lines with encumbrance transactions (mod-finance → mod-finance-storage)
Check enough money in budget (mod-finance → mod-finance-storage)
- Persist invoice lines (mod-invoice → mod-invoice-storage)
- Check expense classes (mod-finance → mod-finance-storage)
- Create/persist pending payment transaction (mod-finance → mod-finance-storage)
- Create/persist voucher with voucher lines (mod-invoice → mod-invoice-storage)
5.1. Fetch voucher lines by invoice id (mod-invoice → mod-invoice-storage)
5.2. Fetch invoice lines by invoice id (mod-invoice → mod-invoice-storage)
5.3. Persist voucher (mod-invoice → mod-invoice-storage)
5.4. Persist voucher lines (mod-invoice → mod-invoice-storage)
8. Persist invoice with new status (mod-invoice → mod-invoice-storage)
Pay invoice (mod-invoice)
- Fetch invoice (mod-invoice)
- Process prorated adjustment (mod-invoice)
2.1. Fetch invoice lines by invoice id (mod-invoice → mod-invoice-storage)
2.2. Persist invoice lines (mod-invoice → mod-invoice-storage)
- Handle payment and credits transactions (mod-finance → mod-finance-storage)
- Persist invoice with new status (mod-invoice → mod-invoice-storage)
- Update voucher (mod-invoice)
5.1. Fetch voucher lines by invoice id (mod-invoice → mod-invoice-storage)
5.2. Fetch invoice lines by invoice id (mod-invoice → mod-invoice-storage)
5.3. Persist voucher (mod-invoice → mod-invoice-storage)
5.4. Persist voucher lines (mod-invoice → mod-invoice-storage)