Add new Accounting Dimensions

Description

xref → https://groups.google.com/g/idempiere/c/9ZDg_z3SLBQ/m/hFwTh9AJCQAJ

 

The purpose of this ticket is to start the conversation about what accounting dimensions should exist as options out of the box. Here is the proposed list:

  • Charge (existing)

  • Asset (existing)

  • Department (new concept/window)

  • Warehouse (existing)

  • Employee (BP where isEmployee=Y)

  • Cost Center (new concept/window)

Please updated this list as you deem appropriate…

Tables to be updated with new dimensions (pulled from Element window => for C_Activity_ID). Please note this list does not include the views that might also need to be updated.

A_Asset_Asset

C_AcctSchema_Element_Acct.Schema Element

C_Cash_Cash Journal

C_CashPlan_Cash Plan

C_CashPlanLine_Cash Plan Line

C_Invoice_Invoice

C_InvoiceBatchLine_Invoice Batch Line

C_InvoiceLine_Invoice Line

C_Order_Order

C_OrderLine_Sales Order Line

C_Payment_Payment

C_PaymentTransaction_Payment Transaction

C_Project_Project

C_ValidCombination_Combination

DD_Order_Distribution Order

DD_OrderLine_Distribution Order Line

Fact_Acct_Accounting Fact

Fact_Acct_Balance_Fact_Acct_Balance

Fact_Acct_Summary_Accounting Fact summary

GL_Distribution_GL Distribution

GL_DistributionLine_GL Distribution Line

GL_JournalLine_Journal Line

HR_Department_Payroll Department

HR_Employee_Payroll Employee

HR_Movement_Payroll Movement

I_FAJournal_FA Journal

I_GLJournal_Import GL Journal

I_Invoice_Import Invoice

I_Order_Import Order

M_InOut_Shipment/Receipt

M_InOutLine_Shipment/Receipt Line

M_Inventory_Phys.Inventory

M_InventoryLine_Phys.Inventory (needs all dimensions)

M_Movement_Inventory Move

M_MovementLine_Inventory Move Line (needs all dimensions)

M_Production_Production

M_ProductionLine (needs all dimensions)

M_PromotionPreCondition_Promotion Pre Condition

PA_ReportColumn_Report Column

PA_ReportSource_Report Source

PP_Cost_Collector_Manufacturing Cost Collector

PP_Order_Header_v_PP_Order_Header_v

PP_Order_Manufacturing Order

R_Request_Request

R_RequestAction_Request History

S_TimeExpenseLine_Expense Line

T_Aging_T_Aging

T_CashFlow_T_CashFlow_ID

T_TrialBalance_Trial Balance

Environment

None

Attachments

1
  • 11 Mar 2025, 02:22 AM

Activity

Show:

Steven-AdaxaMarch 11, 2025 at 2:22 AM

Carlos said …. “A note aside (not related to this ticket) about the window “Accounting Fact Details” ( WDYT? “

…. agree, would be better as own ticket… it is a whole extra topic!

  1. …. It would be great if the new Accounting Dimension columns were populated in Accounting Fact Details….almost essential and a big missed opportunity if not there.

2 …. Another place where it would be good to see them is in “Report Cube”.

Separate issue ….. At the moment, the columns you can choose to have in a Report Cube are limited to the selected Accounting Schema Elements (plus a couple of others) and I have never understood why. You may not have (say) Campaign or Activity or Location To/From as an Accounting Schema Element but you could well want to produce a report with that data grouped/summarised from a Cube… basically the same reasons you might want to use these accounting dimension in an Accounting Fact Details report.

….. and slightly expanding the scope …..

3 … also adding ‘looked up’ columns to rv_fact acct for ‘Year’, ‘Account Type’ and a flag for Balance Sheet or P&L provides data extracts that are really useful for checking whether Financial Report Line Sets accurately include all required trx in the ledger... or for creating ad-hoc pivot table reports.

and…

4 … when the Cube functionality was inherited from adempiere a useful item was not included.. this was a report that allowed you to dump Cube data into a spreadsheet or a CSV. It is a function that gets used constantly in systems that have that report available… accountants become very reliant on it very quickly.

Below is an example of the report window ..

This report extracts data from a View which was created as RV_Fact_Acct_Summary rather from the underlying ‘Cube’ table so that the extra derived columns could be added and not affect anything in the table that the Financial Report Writer relied upon. Adding columns for ‘Year’, ‘Account Type’ and a flag for Balance Sheet or P&L to the Report Cube data also is very useful.

thanks..

Deepak PansheriyaMarch 8, 2025 at 5:56 PM

  • The Employee dimension is not shown, I checked the SQL and it seems the C_Employee_ID was only added in GL_JournalLine. If that’s the intention is OK but that needs to be explained in the documentation (and how adding a C_Employee_ID column in a document can use this dimension in such document)

Yes, it is design like that. mostly employee dimention used for booking employee related expenses and tax deductions. Mostly as payroll entries passed from GL Journal, it assume to be suficient to be in GL Journal.


  • For M_Warehouse, ASI, we did not added field as reference but we use existing field only. If window has no warehouse field, then new not added as it unnecessary to add Warehouse on all places other than GL Journal.

Carlos RuizMarch 8, 2025 at 11:43 AM

Hi - I started first test in test-feature server, these are my first findings:

  • In Accounting Schema I enabled the dimensions “Department”, “Employee” and “Cost Center”

  • Change Role and re-login

  • Open Sales Order

    • The Department and Cost Center fields are shown at the end of the window - they must be placed at Reference as all the other accounting dimensions (I didn’t test the other windows, but I assume the same must go for all documents)

    • The Employee dimension is not shown, I checked the SQL and it seems the C_Employee_ID was only added in GL_JournalLine. If that’s the intention is OK but that needs to be explained in the documentation (and how adding a C_Employee_ID column in a document can use this dimension in such document)

  • In GL Journal Line there are two field groups with name “Reference”, the “Additional Dimensions” field group is in the middle, I think it must show just one “Reference” group

Also, I notice that the dimensions have not the financial tree part associated, I think the Cost Center and Departments must have Tree management as they are intended as “replacement” for the Activity.

 

NOTE that this pull request is not adding new dimensions on Initial Tenant, I’m OK with that, as they can be added manually later.

 

Successful test:

  • I created a POS Sales Order 80003 with a department and a cost center, and a different cost center in one of the lines

  • When completing the POS order, the two fields were replicated correctly to invoice and shipment

  • The postings looks correct

 

Suggested tests for other testers (please document here failures, but also success):

  • enable all dimensions

  • GL Distribution with the new dimensions

  • Custom Fields

  • Tests for other documents, like allocations, matchinv, matchpo, inventory documents (move, physical, production, decrease)

 

A note aside (not related to this ticket) about the window “Accounting Fact Details” ( WDYT? cc: ):

  • How FactLine.setDocumentInfo works is that it fills ANY information available on Fact_Acct, even if they are not used as dimensions

  • So, I’m wondering if there is value showing those fields in Accounting Fact Details when they have a value assigned, for example the M_Warehouse_ID is always filled for inventory documents, but is not shown unless is used as a dimension

  • A suggestion (can be for another ticket): what if we change the Display Logic for all those dimensions that are always filled, for example for M_Warehouse_ID from:

    • @$Element_WH@=Y

    • to

    • @$Element_WH@=Y || @M_Warehouse_ID@>0

    • that means, it is shown always when used as dimension, and when they have a value when not (the same can apply to the other dimensions)

Carlos RuizMarch 7, 2025 at 12:06 PM

Hi Team,

This is installed in https://test-feature.idempiere.org:3243/webui/

Can community please help with testing and feedback?

Nicolas MicoudJanuary 20, 2025 at 6:16 AM

Hi,
About not adding those columns to C_ValidCombination, I see a drawback as ValidCombinations can be used as a kind of shortcut when registering a GL Journal Line.
That can be confusing to have some dimensions (the old ones) while others (new ones) are missing.
So perhaps the solutions would be to replace ValidCombinations by something like “JournalLineQuickEntry”.

Anyway, to avoid confusion, shouldn’t we deprecate ValidCombination (and if necessary implement a substitute for Journal Lines) before implementing this ticket?

Details

Assignee

Reporter

Priority

Created March 2, 2023 at 6:56 PM
Updated March 11, 2025 at 2:22 AM