FS02 Cash Flow

From ADempiere
Revision as of 17:36, 9 November 2010 by CarlosRuiz (Talk) (User Interface Mockups: drop duplication of comments)

Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Cash Flow - Functional Specifications

Author: Carlos Ruiz

Overview

Purpose

The cash flow statement functionality is highly required on an ERP.

Scope

Implement a cash flow statement to be exported to a spreadsheet including information from plans (forecast), commitments (orders) and actuals (invoices)

References

Design Considerations

The cash flow statement will be issued starting from the actual date (today), and it will not include the planned records before today. It's user's responsibility to keep up to date the plans to show accurate results.

It's important also to implement a join between the commitments (orders) or actuals (invoices) and the plans in order to allow the user to mark that a specific order or invoice is related to a plan or forecast and allow the statement to subtract the amount from the plan.

Assumptions

All components of the development must be translated to spanish.

Dependencies

The development of this requirement depends on Functional Specification for Commitment AR AP

Constraints

... empty ...

Glossary

... empty ...

Functional Requirements

User roles & profiles

Cash Planner: There must be a skilled person to fill the cash plans

Sales Order: People filling sales orders must take into account to relate the corresponding cash plan when necessary

Purchase Order: People filling purchase orders must take into account to relate the corresponding cash plan when necessary

Sales Invoice: People filling sales invoices must take into account to relate the corresponding cash plan when necessary

Purchase Invoice: People filling purchase invoices must take into account to relate the corresponding cash plan when necessary

Cash Flow Manager: This is the person that issue the cash flow statement, export it to excel and play with the numbers.

Business process definition

See http://en.wikipedia.org/wiki/Cash_flow

User stories

... empty ...


Functional requirements based on business processes

  • Create a new window (with its corresponding tables) to allow entering cash flow plan documents
  • Create a link between sales/purchase orders/invoices with this new plan document
  • Create a cash flow report that includes forecasts (plans), commitments (orders) and actuals (invoices)
    • Parameters:
      • Date To: The max date of documents to be shown in the report
      • Accounting Schema and Account Element: the account element to calculate the initial balance (first line) of the cash flow report
    • Technical Info: there will be a new temporary table called T_CashFlow that will be filled by a process and reported in the usual Adempiere way
    • The process to fill the temporary table add records to the T_CashFlow table this way:
      • Firstly calculates an "initial balance" record based on the balance of the account (parameter) as of today
      • Secondly add "plan" records based on cash flow plan documents (subtracting the planned lines that are already linked to actual orders or invoices)
      • Thirdly add "commitment" records based on sales and purchase orders - just the not invoiced part, the dates are calculated according to the order schedule
      • Fourthly add "actual debt" records based on sales and purchase invoices - just the unpaid part, the dates are calculated according to the invoice schedule

User Interface Mockups

Sample of the Cash Plan document header

CashPlanHeader.png

Sample of the Cash Plan document lines

CashPlanLines.png

Cash Flow Report Parameters

CashFlowReportParameters.png

Cash Flow Report

This is a sample of the generated cash flow in Adempiere.

CashFlowReport.png

Cash Flow Report exported to spreadsheet

This is a sample of the report exported to spreadsheet

CashFlowReportXLS.png

Technical Requirements

Non-Functional Requirements

Open Discussion Items

Closed Discussion Items