Description:
This module manages the ledgers, funds and fund Budget transactions within acquisitions.
Documentation:
Attached below you will find a data-flow model that describes what data is being passed between this module and other modules within FOLIO. You will also find an Entity Relationship Diagram that illustrates what specific data elements are being stored in this module and what data elements are being retrieved from other modules. The dark grey tables indicate elements that are hard coded.
Interface Fields:
Columns | Relates to: | Data type | Req? | Repeatable? | Searchable | Filter on this? | Display in result table | Hardcoded/Editable? | Placeholder Text | Values | Notes |
Ledger | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Y | N | Y | N | ||||||
description | string | N | N | N | N | ||||||
code | string | Y | N | Y | N | 1 | |||||
ledger_status | string | Y | N | N | Y | 2 | Hardcoded | Active, Inactive, Frozen | |||
fiscal Year(s) | fiscal_year | array | Y | Y | N | Y | select list | This filter will be built into the Ledger record. Initially it will always display the current fiscal year when the record is loaded | |||
acquisition_units | array | N | Y | N | Y | ||||||
allocated | |||||||||||
available | |||||||||||
unavailable | |||||||||||
Group | |||||||||||
name | string | Y | N | Y | N | Editable | |||||
description | string | N | N | N | N | Editable | |||||
code | string | Y | N | Y | N | 1 | Editable | ||||
Status | string | Y | N | N | Y | 2 | Enumeration | Active, Inactive, Frozen | |||
FundID | all associated fund IDs allowing user to see the list of funds on the group view pane | ||||||||||
fiscal Year(s) | fiscal_year | array | Y | Y | N | Y | select list | all associated fiscal years allowing user to see the list of funds on the group view pane with appropriate budget totals for fiscal year | |||
acquisitions_unit (formerly owner, team) | string | Y (Option in Settings to not Require) | N | N | Y | API | |||||
Fund | |||||||||||
name | string | Y | N | Y | N | ||||||
code | string | Y | N | Y | N | 1 | A unique code associated with the fund -- will be used alot in the display | ||||
created_date | date | Y | N | N | N | Date when the fund was created | |||||
currency | currency | string | Y | N | N | N | Hardcoded | Working currency associated with the fund | |||
fund_status | fund_status | string | Y | N | N | Y | 2 | Hardcoded | Active, Inactive, Frozen | ||
fund_type | string | N | N | N | Y | 3 | Controlled Vocab | A descripter that allows the users to categorize funds and drive functionality in workflows like rollover etc. | |||
external_account_number | string | N | N | Y | N | Corresponding account in the financial system. Will be recorded in payment generated as well. | |||||
description | string | N | N | N | N | Arbitrary string/notes for fund | |||||
ledger_id | ledger.id | uuid | Y | N | N | Y | The ledger this fund belongs to | ||||
allocation_from | array of fund | array | N | N | N | N | to-many; all the funds that this fund is allowed to receive money from. This would be 1 fund or none. If this field is blank their is no restriction on alocating to this fund | ||||
acquisitionsUnit (formerly owner, team) | string | Y (Option in Settings to not Require) | N | N | Y | API | The location/branch/division etc that's responsible for this invoice. This may or may not be the same as the PO. ie. North Branch | ||||
group | string | N | N | N | Y | API | The group(s) that this Fund has been associated with. | ||||
allocation_to | array of fund | array | N | Y | N | N | to-many; all the funds that this fund is allowed to send money to. This could be one or many. | ||||
tags | array of tag | array | N | Y | Y | Y | 6 | to-many; all the tags associated to the fund | |||
allocated | number | N | N | N | N | ||||||
available | number | N | N | N | N | 4 | |||||
unavailable | number | N | N | N | N | 5 | |||||
Budget | |||||||||||
name | string | Y | N | Y | N | Inherited From fund and fiscal year | |||||
budget_status | budget_status | string | Y | N | N | Y | Hardcoded | Active, Frozen, Planned, Closed | Planned: Assigned to a fiscal year whos period has not yet begun | ||
allowable_encumbrance | decimal | N | N | N | N | ||||||
allowable_expenditure | decimal | N | N | N | N | ||||||
allocation | decimal | Y | N | N | N | Running total of all the allocation transactions against the budget. | |||||
awaiting_payment | decimal | N | N | N | N | Running total of all the invoiced amounts (i.e. waiting to be paid) | |||||
available | decimal | N | N | N | N | Allocation - awaiting_payment - encumbered - expenditures | |||||
encumbered | decimal | N | N | N | N | Running total of money set aside for purchases | |||||
expenditures | decimal | N | N | N | N | Running total of all the payments recorded by the fund | |||||
over_encumbrance | decimal | N | N | N | N | ammount the budget is over encumbered. Is this needed? | |||||
over_expended | decimal | N | N | N | N | ammount the budget is over expended. Is this needed? | |||||
fund_id | fund | uuid | Y | N | N | N | |||||
fiscal_year_id | fiscal_year | uuid | Y | N | N | Y | |||||
tags | tags | N | Y | N | Y | inherited from fund | |||||
Fiscal Year | |||||||||||
name | string | Y | N | Y | N | ||||||
code | string | Y | N | Y | N | 1 | Will store the year (i.e. an integer) that represents the start-range of the fiscal year | ||||
description | string | N | N | N | N | ||||||
period_start | date | Y | N | N | N | 2 | |||||
period_end | date | Y | N | N | N | 3 | |||||
acquisitions_unit (formerly owner, team) | string | Y (Option in Settings to not Require) | N | N | Y | API | |||||
Encumbrance (Sub Object of Transaction) | |||||||||||
InitialAmountEncumbered | decimal | Y | N | Y | N | Ideally we could filter by a range of values; also be able to search by exact amount of transaction. | |||||
AmountAwaitingPayment | decimal | N | N | ||||||||
AmountExpended | decimal | N | N | ||||||||
status | string | Y | N | Y | Released, Unreleased | Whether or not the encumberance has been released | |||||
Transaction | |||||||||||
id | uuid | Y | N | N | N | ||||||
Amount | decimal | Y | N | Y | N | 3 | Ideally we could filter by a range of values; also be able to search by exact amount of transaction. NOTE: For encumbrances: This is the difference between the Encumbered amount and the amount awaiting payment and expended | ||||
Description | string | N | N | Y | N | ||||||
Timestamp | date | Y | N | Y | Y (date range) | 1 | Filter by a date range would also be really important | ||||
Source | string | Y | N | N | Y | 6 | enumeration | User, Fiscal year, PO Line, Invoice | The readable identifier of the record that resulted in the creation of this transaction. Hotlink to invoice (invoiceId) and PO Line (polineID) if possible in UI | ||
TransactionType | uuid | Y | N | N | Y | 2 | enumeration | Payment, Credit, Allocation, Transfer, Encumbrance | This describes the type of transaction | ||
FromFundId | uuid | Y | N | N | Y | 4 | Fund Name | One of these fields must be filled. | |||
ToFundId | uuid | Y | N | N | Y | 5 | Fund Name | ||||
FiscalYearId | uuid | ID of the fiscal year that the transaction is taking place in | |||||||||
SourceUserId | uuid | Y | N | N | Y | Potentially need to capture a user id when possible. Need to decide what the ID would be when it's system or EDI | |||||
SourceVoucherId | ID of the Voucher that triggered the creation of this transaction | ||||||||||
SourceFiscalYearId | ID of the fiscal year that triggered the creation of this transaction (Used during fiscal year rollover) | ||||||||||
Tags | array of tag | array | N | Y | Y | Y | 7 | one-to-many; all the tags associated to the budget | |||
encumbrance | encumbrance | N | N | N (not directly, see encumbrance) | N (not directly, see encumbrance) | Encumbrance sub-object - holds encumbrance-specific information not applicable to other transaction types |
Data Flow(s):
ERD (Entity Relationship Diagram):
Example Fund Structures:
This diagram is intended to demonstrates some possible fund structures using the objects available in this FOLIO module.
Transaction Logic Diagram:
This diagram is intended to demonstrate how Payments and other transactions will relate to object/records in various FOLIO modules, primarily finance.