1. 6/25/2014 Projects:Cost Adjustments/FunctionalSpecs - OpenbravoWiki
Log in / create account
Openbravo.com Partner Portal Issues Blogs Forge Exchange University Downloads
View source | View content page | Page history | Printable version
Projects:Cost Adjustments/FunctionalSpecs
Contents
1 Cost Adjustments Functional
Specifications
1.1 Overview
1.1.1 Purpose
1.1.2 Scope
1.1.3 References
1.2 Design Considerations
1.2.1 Assumptions
1.2.2 Dependencies
1.2.3 Constraints
1.3 Glossary
1.4 Functional Requirements
1.4.1 Business process definition
1.4.2 User stories
1.4.3 Functional requirements based on business processes
1.4.4 User Interface Mockups
1.5 Technical Requirements
1.6 NonFunctional
Requirements
1.7 Open Discussion Items
1.8 Closed Discussion Items
Cost Adjustments Functional
Specifications
Overview
This project implements the ability to modify calculated costs. These modifications can be needed by different causes. Backdated
transactions or landed cost are the most common.
Purpose
Current Cost Engine is based on Perpetual Costing. This means that any calculated cost shouldn't be modified. Because of this restriction
there are some cases that currently cannot be resolved. To solve this Cost Adjustments are needed. With this project it would be able to fix
unexpected cost results when transactions are not registered in the system in the same order that happened or to implement landed costs.
Scope
The scope of this project is to create a new functionality to manage cost adjustments. This project also enables the possibility to create
modules with processes to adjust costs.
References
This project is an extension of the Costing Engine, deep knowledge of this functionality is required.
Design Considerations
Assumptions
The Cost Adjustment process should be possible to be extended by modules.
Dependencies
Existing core processes retrieving transaction costs should be reviewed to ensure that adjustments are included when needed.
http://wiki.openbravo.com/wiki/Projects:Cost_Adjustments/FunctionalSpecs 1/5
2. 6/25/2014 Projects:Cost Adjustments/FunctionalSpecs - OpenbravoWiki
Existing core algorithms (average and standard) should be updated to implement cost adjustments.
Constraints
Costing Algorithms need implement new methods for cost adjustments. Algorithms not upgraded should not break the application.
Glossary
Functional Requirements
Business process definition
1. New document Cost Adjustment
1. Header with the adjustment definition, includes cause, type,...
2. Lines with all the transactions affected by the adjustment.
2. Algorithms are in charge of populating the involved lines of the Cost Adjustment when a transaction is adjusted.
3. The process that searches the transactions involved and calculates the adjustment amounts:
1. Needs to take into account the possibility of a Costing Rule change.
2. Changes in amount of outgoing transactions is the only case where no other related transactions are affected. There is an
exception on closing inventories of Costing Rule initializations.
4. The cost adjustments are generated by 3 different processes:
1. Standard Cost Corrections:
1. Fixes transaction costs known to be not accurate.
2. It fixes the transaction and all the related ones.
3. The process is done for a reference date.
1. The process searches transactions that require adjustments up to the reference date.
2. Involved transactions can be on a later date.
3. The process ensures a synchrony between ledger balance and inventory balance only on the reference
date.
4. Transactions that require adjustments:
1. The order of the transaction calculation is not correct (backdated transactions)
2. Differences in order/invoice prices.
3. Order price modification with receipt cost calculated. Under discussion if this scenario is possible.
5. Products without stock but with a balance in the ledger or inventory different to zero.
2. Landed Cost: Ability to assign additional costs to single transactions. Usually freight costs or custom taxes to receipts.
3. Ability to update the balance of a product on a date to an specific amount.
1. The process generates closing/starting inventories whose calculated cost is the old balance (closing inventory)
and the new balance (starting)
2. If this process is done for a date in the past a cost adjustment will be needed.
5. Cost adjustments are cumulative. A single transaction can have several adjustments.
6. The process to search for involved transactions needs to take into account consumed goods transactions of manufacturing. Both
BOM and Work Efforts.
1. In this case the related produced goods costs needs to be adjusted as well.
7. The accounting of the adjustments is not driven by the Cost Adjustment document.
1. New document/process to post adjustments to the ledger.
2. A accounting date is set as reference.
3. All adjustments pending to be posted prior to the reference date are posted on a single journal entry on the given
accounting date.
4. It is not possible to close an accounting period with adjustments pending to be posted.
User stories
Case 1
Closing a period with backdated transactions.
1. Ann want to close an accounting period.
2. She knows that in that period there were some shipments that were not entered in the same date.
3. She creates a new Cost Adjustment to check for backdated transactions up to the last date of the period she's closing.
4. She process the cost adjustment.
5. On the lines she can review all the transactions that have been updated.
Case 2
A shipment is entered on a later date
http://wiki.openbravo.com/wiki/Projects:Cost_Adjustments/FunctionalSpecs 2/5
3. 6/25/2014 Projects:Cost Adjustments/FunctionalSpecs - OpenbravoWiki
1. John has registered a mislaid receipt.
2. He wants its cost to be calculated using the original date.
3. He creates a new Cost Adjustment for the receipt setting the correct date.
4. He processes the cost adjustment.
5. On the lines he can review all the transactions that have been updated.
Functional requirements based on business processes
Cost Adjustment functionality
Id Requirement Importance Status
1.1
Window Cost Adjustment.
Header:
Accounting Date
Type
Document Type and Number
Transaction
Transaction Date
Transaction Cost Difference Amount
... others TBD
Lines:
Transaction
Difference Amount
Must have Not Started
1.2
Cost Adjustment process. The process:
The process that generates the adjustment must insert in the lines all the
transactions that causes adjustments.
Based on the algorithm in use, searches for all involved transactions that
needs to be updated and a line for each of them is created.
Adds the corresponding transactions costs to each transaction.
Must have Not Started
Standard Cost Corrections functionality
Id Requirement Importance Status
2.1
Process Standard Cost Corrections.
Parameters:
Reference Date (mandatory)
Product (multiple selection, optional)
Product Category (optional)
Must have Not Started
2.2
The process:
Generates a Cost Adjustment Document.
Adds a line for each transaction found that requires adjustments:
Difference in price of order and invoice.
Backdated transaction.
Order price updated after receipt calculation. (Under discussion)
Difference in price of invoice with invoice reactivated. (Under
discussion)
Must have Not Started
2.3 Ability to run the process periodically in background mode. Nice to have Not Started
Landed Cost functionality
Id Requirement Importance Status
http://wiki.openbravo.com/wiki/Projects:Cost_Adjustments/FunctionalSpecs 3/5
4. 6/25/2014 Projects:Cost Adjustments/FunctionalSpecs - OpenbravoWiki
3.1
Process Landed Cost.
Parameters:
Base Transaction.
Landed Cost amount.
Must have Not Started
3.2
The process:
Generates a Cost Adjustment Document.
Adds a line for the transaction with the amount
Must have Not Started
3.3 Ability to create the landed cost from Purchase Order or Receipt. Nice to Have Not Started
3.4 Ability to assign to the receipt the invoices that originates the Landed Cost. Nice to Have Not Started
3.5
New document Landed Cost where the Receipts are related to the invoices or
documents that originates the landed cost.
Nice to Have Not Started
3.6 Ability to assign a single freight invoice to several receipts. Nice to Have Not Started
Balance amout update functionality
Id Requirement Importance Status
4.1
Process Balance amount update.
Parameters:
Product
Reference date.
Warehouse. When the rule active on the reference date is based on
warehouse.
Desired amount. Defaulted from product and date.
Read only quantity. Defaulted from product and date.
Must have Not Started
4.2
The process:
Generates a Cost Adjustment Document.
Must have Not Started
Accounting process
Id Requirement Importance Status
5.1
Process to generate the journal entry of the adjustements.
Parameters:
Reference date.
Must have Not Started
Upgrade of Core's Costing Algorithms
Id Requirement Importance Status
6.1 Average Algorithm Must have Not Started
6.2 Standard Algorithm Must have Not Started
User Interface Mockups
Technical Requirements
http://wiki.openbravo.com/wiki/Projects:Cost_Adjustments/FunctionalSpecs 4/5
5. 6/25/2014 Projects:Cost Adjustments/FunctionalSpecs - OpenbravoWiki
NonFunctional
Requirements
Open Discussion Items
Closed Discussion Items
Retrieved from "http://wiki.openbravo.com/wiki/Projects:Cost_Adjustments/FunctionalSpecs"
This page has been accessed 50 times. This page was last modified on 23 June 2014, at 16:34. Content is available under Creative
Commons AttributionShareAlike
2.5 Spain License.
Category: Projects ERP
http://wiki.openbravo.com/wiki/Projects:Cost_Adjustments/FunctionalSpecs 5/5