Explore Categories



Error Object Framework

Currently, all incoming data to Tally via Rewrite, Migrate, Import, and Sync including errors are persisted (instead of ignoring them) and the user will have the ability to resolve these errors.  To provide the ability to serve these error objects and their counts to the Application layer, we have enhanced TDL to express the intent to retrieve these errors and the platform provides the capabilities to

  • gather these collections based on the criteria specified in TDL and
  • provide counts of such objects so that reports and drill-downs can be instantaneous. 



The function HasDataErrors is used to know whether the errors are present for a given activity or not.




<Activity> is used to get the count of all masters for the specified activity. The possible values of the activity are Sync, Import, Migrate, Repair, and Any. 




There are a few collection changes related to the error object framework. 

Case 1: 

If the Type attribute of collection definition contains both error object type and activity then the Child Of attribute must identify the activity from which the error object needs to be gathered.

[Collection: List of Error Objects]

Type     :<ErrorObjects>[:<Activity>/ <Rule>]

Child Of: Sync/Rewrite/Migration/Import  or <Rule Master Name>   

In the above example, the Activity/Rule are keywords. If the keyword Rule is mentioned, always the activity would be ‘Sync’.


  • To get all master errors irrespective of activity

Type : ErrorMasters

  • To get all Ledger errors irrespective of activity

Type: ErrorLedger

  • To get all ledger errors from the Sync activity

Type : ErrorLedger : Activity

Child of: Sync 

  • To get all voucher errors irrespective of activity

Type: ErrorVouchers

  • To get Error Ledgers from Sync activity

[Collection : Error Ledgers]

Type     : ErrorLedger: Activity

Child of : Sync

  • To get Error Ledgers from Sync activity and for Rule Master ‘RuleABCD’

[Collection : Error Ledgers for Rule]

Type     : ErrorLedgers: Rule

Child of : RuleABCD

  • To get Error Vouchers for Sync activity

[Collection : All Sync Error Vouchers]

Type     :ErrorVouchers:Activity

Child of : Sync

  • To get Error Vouchers of a particular voucher type for Sync activity

[Collection : All Sync Error Vouchers of a Voucher type]

Source Collection : All Sync Error Vouchers

By                : VchType : $VoucherTypeName

Aggregate Compute : Count : Sum : 1

If voucher type (payment, sales etc) is missing it will be shown as uncategorized.

Error wise collections

[Collection : All Sync Error Ledgers error wise]

Source Collection : Error Ledgers

By                : Error Type : $ErrorType

Aggregate Compute : Count : Sum : 1

Post a Comment

Is this information useful?