Allocations

From Acacia Support Wiki
Revision as of 06:52, 4 March 2017 by Gmcollett (talk | contribs)
Jump to navigation Jump to search

Allocations hold links from funds Source Transactions that pay other Source Transactions. They also record who created the allocation of when this was done. In some cases, the creation of an allocation will also post ledger transactions to balance funds in ledger accounts.

A set of Allocation Rules define which source transactions can act as funds or paid items and what can pay what. i.e. A +ve deposit line can pay +ve invoice line, but it cannot itself be paid.

There can be multiple positive and negative allocations between funds and paid items.

Allocation Abbreviations like D50 --20-->I50 may be used to represent allocations:

Allocations can be reversed, and the reversal is linked to the allocation that it reverses.

Allocations normally have +ve values unless they are reversals of other allocations.

Allocation Reversals cannot themselves be reversed. Instead, a new +ve allocation must be created. This avoids allocations being chained into allocation-->reversal-->reversal of reversal etc which required complex recursive processing and is slow.

Allocations are only ever created by a single am_allocate stored procedure which enforces all of the Allocation Rules. It also adjusts the status of the funds and paid items according to the rules so that allocation/payment status can be quickly determined.