Monday, 3 June 2024

Defination of specifications for key profit and loss and balance sheet elements

 

Purpose of the document

Many personnel need to document the ledger balance logic and inventory balance logic from the transaction details of the software. Turbodata offers written specifications for critical features like sales, purchase, profit and loss, cash flow and inventory valuation.

By this document the Chartered accountant or the auditor has complete visibility into the accounting numbers. The accountant also has the option of choosing the variations that it desires from the software.

Whom is this document intended for?

a.)    Chartered accountants

b.)    Accountants

c.)    Personnel having to file taxes for international firms

d.)    External auditors

e.)    Software companies desiring to integrate their modules with Tally

 

Turbodata definition for sales,purchase, profit and loss statement, inventory valuation and gross profit

Sales Movement: sales movement is classified within Tally by using the sales register. The sales register gives the ledger and the inventory movements. The following is the logic from the single table for sales movement for ledger, inventory, batch and bill movements.

The numbers from our logic are to be signed off by the client and could be different from the odbc extract of Tally.

 

a.)     The voucher movement types are classified as follows:

·         Isinvoice=’yes’

·         Ivoid=’No’

·         Iscancelled=’No’

·         Isoptional=’no’

 

·         Isdeleted=’No’

b.)    The ledger primary account for the invoice should belong to ‘sales accounts’ or the reserve name for the invoice associated with the ledger from the group hierarchy should belong to the ‘sales accounts’.

c.)     The group associated with one of the  ledgers in the invoice  should be classified as following:

·         Isrevenue=’Yes’

 

The calculation for the points b and c have been done based on companynames and masterid for the invoices.

In case all the 3 conditions above have been fulfilled then the invoices associated with the given masterid and the companynames are said to be assumed to belong to sales for the calculation of Profit and loss statements.

 

Derivation of the ‘sales accounts’: the same can be deduced from the ledgerprimary of the ledger or from ‘Level1’ after the ledger flattening exercise in the single table.

 

The single table shall give the complete ledger(along with group hierarchy), partyledgername(along with group hierarchy) and the item(along with stock group hierarchy) in the output.

 

The above shall be incorporated as part of “container 1”.

 

 

Sales Movements incorporating the non invoiced entries: There would be certain cases where the client would like to incorporate entries for sales entries that include entries that have not been invoiced.  In such a scenario the following is the logic from the Tally source code:

 

·         Isvoid=’No’

·         Iscancelled=’No’

·         Isoptional=’no’

·         Isdeleted=’No’ or blank

Vouchertypeparent involving ‘order’ entries are excluded for the same.

b.)The ledger primary account for the invoice should belong to ‘sales accounts’ or the reserve name for the invoice  associated with the ledger from the group hierarchy should belong to the ‘sales accounts’.

This shall be classified as “container 2”

 

 

The following steps have been used by our team to calculate the non invoiced sales entries:

Container 3= Container 2-container 1

 

Container 3 shall have only ledger movements and movements involving(ledger and inventory)[“Order” entries have been excluded before]

 

We assumed that the non invoiced inventory entries shall have only the voucher type parent ‘delivery note’ and ‘receipt note’[based on our understanding of the source  TDL code].

Container4(subset of container 3 with voucher type parent ‘delivery note’ and ‘receipt note’)

 

Container 5(subset of container 3 excluding voucher type parent of ‘delivery note’ and receipt’ note’)

Handling of container 4: For calculating the pending delivery notes and receipt notes we have used the tracking number link with the sales invoice.

 

Container 6: container 4(delivery notes and receipt notes with tracking numbers having pending quantities with the sales invoice).

 

Thus the total sales value(invoiced and not invoiced is as follows)

Container 1+container 6+container 5. These details shall be used for the following:

 

Calculation of sales order pending and for inventory valuations.

 

[Note: we get frequent errors in calculation of ‘container 6’ in our projects]

 

 

Purchase Movement: sales movement is classified within Tally by using the sales register. The purchase  register gives the ledger and the inventory movements. The following is the logic  from the single table for sales movement for ledger, inventory, batch and bill movements.

The numbers from our logic are to be signed off by the client and could be different from the odbc extract of Tally.

 

a.)     The voucher movement types are classified as follows:

·         Isinvoice=’yes’

·         Ivoid=’No’

·         Iscancelled=’No’

·         Isoptional=’no’

 

·         Isdeleted=’No’

b.)    The ledger primary account for the invoice should belong to ‘purchase accounts’ or the reserve name for the invoice associated with the ledger from the group hierarchy should belong to the ‘purchase accounts’.

c.)     The group associated with one of the  ledgers in the invoice  should be classified as following:

·         Isrevenue=’Yes’

 

The calculation for the points b and c have been done based on companynames and masterid for the invoices.

In case all the 3 conditions above have been fulfilled then the invoices associated with the given masterid and the companynames are said to be assumed to belong to sales for the calculation of Profit and loss statements.

 

Derivation of the ‘purchase accounts’: the same can be deduced from the ledgerprimary of the ledger or from ‘Level1’ after the ledger flattening exercise in the single table.

 

The single table shall give the complete ledger(along with group hierarchy), partyledgername(along with group hierarchy) and the item(along with stock group hierarchy) in the output.

 

The above shall be incorporated as part of “container 1”.


 

 

 

Purchase  Movements incorporating the non invoiced entries: There would be certain cases where the client would like to incorporate entries for sales entries that include entries that have not been invoiced.  In such a scenario the following is the logic from the Tally source code:

 

·         Ivoid=’No’

·         Iscancelled=’No’

·         Isoptional=’no’

·         Isdeleted=’No’ or blank

Vouchertypeparent involving ‘order’ entries are excluded for the same.

b.)The ledger primary account for the invoice should belong to ‘purchase accounts’ or the reserve name for the invoice  associated with the ledger from the group hierarchy should belong to the ‘purchase accounts’.

This shall be classified as “container 2”

 

 

The following steps have been used by our team to calculate the non invoiced sales entries:

Container 3= Container 2-container 1

 

Container 3 shall have only ledger movements and movements involving(ledger and inventory)[“Order” entries have been excluded before]

 

We assumed that the non invoiced inventory entries shall have only the voucher type parent ‘delivery note’ and ‘receipt note’[based on our understanding of the source  TDL code].

Container4(subset of container 3 with voucher type parent ‘delivery note’ and ‘receipt note’)

 

Container 5(subset of container 3 excluding voucher type parent of ‘delivery note’ and receipt’ note’)

Handling of container 4: For calculating the pending delivery notes and receipt notes we have used the tracking number link with the sales invoice.

 

Container 6: container 4(delivery notes and receipt notes with tracking numbers having pending quantities with the sales invoice).

 

Thus the total sales value(invoiced and not invoiced is as follows)

Container 1+container 6+container 5. These details shall be used for the following:

 

Calculation of purchase order pending and for inventory valuations.

 

[Note: we get frequent errors in calculation of ‘container 6’ in our projects]


 

 

 

Cash flow Movement: sales movement is classified within Tally by using the cash flow report. The cash flow report gives the cash balance at the end of the DSPTodate in Tally.

The numbers from our logic are to be signed off by the client and could be different from the odbc extract of Tally.

 

a.)     The voucher movement types are classified as follows:

·         Isinvoice=’yes’

·         Ivoid=’No’

·         Iscancelled=’No’

·         Isoptional=’no’

 

·         Isdeleted=’No’

b.)    From the single table we have used the Ledger_level_3 after ledger level flattening. The following filter parameters are used.

·         Level_2 contains “current assets” or the Reserve name has “Current Assets”

·         Level_3 has entries related with “Bank” and “Cash”.

The single table will give up to 9 levels of hierarchy at ledger and partyledger levels.

 

All the entries related with criteria a and b are part of the cash flow statement.

 

Complications: we have had complications with regards to branch transfer of cash. Such branch transfers need to be excluded. Those customizations need to be done.

 

Post dated checks are not handled by our logic.


 

Profit and loss Movement: The attached specification for profit and loss incorporates the voucher ledger movements.  These specifications have been developed over a number of implementations. 

These specifications have been used to develop dynamic profit and loss statements across number of companies. The logics of subledgers has not been included in our specifications currently.

Note: we have excluded all the non invoiced entries in the given statements.

 

d.)    The voucher movement types are classified as follows:

·         Isinvoice=’yes’

·         Isvoid=’No’

·         Iscancelled=’No’

·         Isoptional=’no’

 

·         Isdeleted=’No’ or blank

 

The group details associated any of the ledgers in the invoices should confirm to the following:

 

·         Isrevenue=’Yes’

 

The debit and credit entries for the ledgers chosen for the masterids associated with such invoices are to be calculated within the profit and loss statements for the end clients for the given fiscal time period.

 

 

The group hierarchy flattening gives the schedule 6 and schedule 3 profit and loss statements

 

 

 

 

Similarly for the analysis of gross profits by ledger we use the following formulae:

 

All the masterids along with the ledgers having affectsgrossprofit=’yes’ . Thereafter the debit and credit ledger entries for the masterids associated with the partyledgernames and ledgernames are used to calculate the gross profits over periods in time.

 

Gross profit calculations at the item level entails the above logic. The masterids selected above are then used to filter entries at the voucher inventory and voucher batch inventory levels.

 

 

Calculation of the perpetual gross profit for income filing purposes: The Tally software uses report level calculations for the calculation of the gross profit. That is the weighted average shall be calculated for each fiscal date.

 

Turbodata calculations entail the complete historical calculations for the inward movements(stockitem movement and stock item value) up to the given fiscal date.

 

Inward movement quantity: Inward movement quantity shall include all inward movements are inventory and batch levels conforming to the following:

 

·         Isvoid=’No’

·         Iscancelled=’No’

·         Isoptional=’no’

 

·         Isdeleted=’No’ or blank

 

 

Based on the client requirements for the masterids to be picked up at the voucher ledger  levels one or more of the filters are chosen for one of the ledgers of the vouchers. The conditions are as follows:

a.)     Isrevenue:yes

b.)    Affectsgrossprofit:Yes

c.)     Ledger primary associated with the voucher should belong to the purchase accounts or the sales accounts.

 

Weighted average rate is given by the division off the following two parameters marked as numerator_a and denominator_b

 

Numerator_a=This is the total value of the inward value  chosen above for the fiscal dates less than or equal to the date for analysis

Denominator_b=this is the total quantity for the inward quantity movement for the fiscal dates less than or equal to the date of analysis

 

Weighted average rate for the given fiscal date by batch and non batch movement is Numerator_a/Denominator_b

 

 

 

The attached weighted average calculations are used for gross profit, closing balance value calculations.

 

 

Contact: Apoorv Chaturvedi

Phone:+91-8802466356

email: support@turbodatatool.com;support@mndatasolutions.com

Friday, 31 May 2024

Optimizing Inventory for a large trading company

Optimizing Inventory for a large trading company


The end client is a large trading company based out of Delhi involved in trading of steel sheets/steel pipes. The steel sheets and steel pipes are used for casting designs in automotive sector.
Problem statement: The end client is looking to improve the inventory turnover ratios( as per the blog attached herewith) and the hypothesis of the end client is that it has a large amount  of slow moving stock.
Approach of the ETL team along with the management consulting firm(Govisory Services Private Limited):
  • ·         Find the A,B,C category of stock for the items: the top 70% of the closing stock value as of the fiscal date was classified as category ‘A’, next 20% as category ‘B’ and last 10% as category ‘C’.
  • ·         Inventory ageing analysis was done to calculate the age of the closing stock
  • ·         Calculation of the over stock and under stock items: for the same the ETL team followed the following steps:

o   Calculation of the average sale value: this was done by dividing the total  of year to date sale of the item by the total number of active fiscal months in which the item was sold. Active fiscal months entail the date difference between the  minimum sale month for the item and the maximum sale date(31st December 2017).
o   The Lower and upper control limits were set as 6 times the average sale value and 9 times the average sale value.
Key findings: most of the category ‘A’ stock items were found to be over stock by using the average method. The ETL team along with the consulting team found that it was the variance and not the averages that are a problem(The Goal Methodology). The end client had significant variations in sales between the fiscal months for the items.

Next step: in order to calculate the effect of variances on the sale, the ETL team decided to carry out the time series analysis over the last 2(two) fiscal years for the category ‘A’ items. This action was done through the proprietary code of ARIMA(Auto Regressive Integrated Moving Average) with the ETL team.
Based on the finding of the same for most of the items it has been found that level has been the most important indicator.

Other activities done by the ETL team for inputs from MS Excel spreadsheets:


Presented by:

Ritu Lakhani
Phone: 0124-4365845
Website: www.mnnbi.com

Initial and Incremental data Load Template by M&N Business Intelligence-SAP Data Services

  INCREMENTAL LOAD/CREATION OF DIMENSION TABLE LOGIC AT SAP DATA SERVICES END CLIENT In this particular document we shall be looking at the ...