Skip to end of banner
Go to start of banner

Folio issues with Data consistency

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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)

  1. Fetch invoice (mod-invoice)
  2. 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)

  1. Update invoice lines with encumbrance transactions (mod-finance → mod-finance-storage)
  2. Check enough money in budget (mod-finance → mod-finance-storage)

  3. Persist invoice lines (mod-invoice → mod-invoice-storage)
  4. Check expense classes (mod-finance → mod-finance-storage)
  5. Create/persist pending payment transaction (mod-finance → mod-finance-storage)
  6. 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)

  1. Fetch invoice (mod-invoice)
  2. 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)

  1. Handle payment and credits transactions (mod-finance → mod-finance-storage)
  2. Persist invoice with new status (mod-invoice → mod-invoice-storage)
  3. 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)

Open order (mod-orders)

Unopen order (mod-orders)

Data redundancy in models

  • No labels