Category Labels
Bookkeeping without tracking the chart of accounts
Category labels serve as a layer of abstraction, simplifying the categorization of transaction entries. Labels eliminate the need to track the chart of accounts - developers can bookkeep entirely via labels and let Digits handle the heavy lifting of category resolution.
Labels can prefer AI categories (see AI Categorization), empowering Digits to fully recategorize as necessary. The label's configured category shapes our AI's understanding of the transaction's context, providing developers an opportunity to refine bookkeeping intent.
Creation
Category labels are created when calling the Sync Accounts endpoint. Digits will map the labels to categories from the chart of accounts. When writing transactions into Digits via Sync Transactions, labels are resolved to the underlying category, reducing the complexity of integrations.
Category labels greatly simplify integrations
Every Digits-created integration uses category labels to eliminate the use of heuristics. The Digits ledger performs the heavy lifting of category mapping, AI categorization, and confidence management.
Example
An example of a label mapping provided to our Sync Accounts endpoint for a payroll integration.
api.LabelMapping(
api.Clearing, // label
"Payroll Clearing", // description
[]api.CategoryType{api.CategoryTypeLiabilities}, // constraint
// Category mapping configuration
&api.SearchTerm{
Names: []string{"Payroll Clearing"}, // search terms
Type: api.CategoryTypeLiabilities, // category type
Subtype: api.CategorySubtypeLiabilityClearing, // category subtype
Parent: &api.SearchTerm{ // parent search configuration
Names: []string{"Liability Clearing"},
Type: api.CategoryTypeLiabilities,
Subtype: api.CategorySubtypeLiabilityClearing,
},
},
)After the source's Accounts are created, the labels can then be specified instead of category IDs on transaction entries:
[]connect.Entry{
api.Entry(amount, "Net Pay", api.Label(api.Clearing), api.Debit),
api.Entry(amount, "Net Pay", api.Label(api.Bank), api.Credit),
}No further logic is required to track the specifics of the labeled categories - Digits will resolve the labels to the appropriate category and book the transaction, recategorizing as needed.
Updated 22 days ago
