Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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. Store 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