Class Tracking for Transactions

  • Last Created On May 26, 2026
  • 9
0 0

Class Tracking — Financial Analysis by Department, Project, or Business Channel

Overview

Class Tracking is a feature in the Accounting module that allows you to assign classification labels — called Classes — to individual accounting transactions. This enables you to filter and view financial reports by specific groups, such as departments (Sales, HR, Finance), projects, or business channels.

This feature is useful when you need to:

  • Track revenue and expenses by department within the same company
  • Analyze financial performance by project or operational channel
  • Generate separate accounting reports without creating multiple companies

Prerequisites

Before using Class Tracking, you need to complete the following two setup steps.

Step 1 — Enable the Class Tracking Feature

  1. Go to Accounting module from the left menu
  2. Select Setting → General
  3. Scroll down to the Class section
  4. Enable the toggle "Use class tracking for transactions". 
    Note: If this toggle is not enabled, the Class field will not appear on any transaction form in the system.

Step 2 — Create a List of Classes

  1. Go to Accounting → Setting → Class
  2. Click Add New Class

  3. Enter the Class name (e.g., Sales, Marketing, HR, Finance, Operations, Manufacturing)

  4. Click Save

You can create multiple Classes and edit their names at any time. The system does not include any default Classes — you must create them according to your organizational structure.

Step-by-step Guide

There are two ways to assign a Class to transactions

Method 1 — Assign a Class Directly When Creating or Editing a Transaction

This is the most common method. When opening a transaction creation or edit form, you will see the Class field with a dropdown selection.

Example using an Invoice:

  1. Go to Sales → Invoices
  2. Click Create New Invoice or open an existing Invoice for editing
  3. Locate the Class field on the right side of the form

  4. Select the appropriate Class from the dropdown (or leave it as None if classification is not needed)
  5. Complete the remaining information and click Save

Note: Some transaction types only allow Class selection under specific statuses. See the Behavior Rules section below for details.

Method 2 — Assign a Class Through the Mapping Form in Transactions

Use this method when you want to assign or change the Class for existing transactions without opening each transaction individually.

  1. Go to Accounting → Transactions → Sales (or Expenses, Payslips, Purchase, Inventory, Manufacturing, Fixed equipment)
  2. Find the transaction you want to assign a Class to 
  3. Click the Mapping or Edit on that transaction row
  4. The Mapping popup will open, displaying transaction information and the Class field
  5. Select a Class from the dropdown

  6. Click Save

Note: The Mapping form displays the current Class of the transaction (if any). You can change the Class here at any time, but this change does not automatically synchronize with related transactions that were previously created.


View Reports by Class

  1. Go to Accounting → Reports and select a report type (e.g., Journal)
  2. In the Class filter, select the Class you want to view
  3. Click Filter
  4. The report will display only transactions belonging to the selected Class
    "All" Filter: If you select All, the report will display all transactions — including both classified and unclassified transactions.

Behavior Rules

Summary Table — Class Behavior by Transaction Type


Transaction TypeHow Class Is AssignedConditionsNotes
InvoiceManually selected on Add/Edit formNo status restriction
PaymentInherited from InvoiceAutomaticClass field is not displayed on the form
ExpenseManually selected on Add/Edit form
Credit NoteManually selected on Add/Edit formNo status restriction
Credit Note AppliedInherited from Credit NoteAutomaticClass field is not displayed on the form
Credit Note RefundInherited from Credit NoteAutomaticClass field is not displayed on the form
Sale Order ReturnManually selected on Add/Edit formEdit Class only applies to Manual channels and Draft status.Order return from Woo, POS, Portal, and Pre-order channels cannot be edited
Sale Order RefundInherited from Sale Order ReturnAutomaticClass field is not displayed on the form
PayslipManually selected on Add/Edit form
No status restriction
Purchase OrderManually selected on Add/Edit formDraft status only
Purchase InvoiceManually selected on Add/Edit formDraft status only
Purchase PaymentInherited from Purchase InvoiceAutomaticClass field is not displayed on the form
Purchase Order ReturnManually selected on Add form
Purchase Order RefundInherited from Purchase Order ReturnAutomaticClass field is not displayed on the form
Debit NoteManually selected on Add/Edit formNo status restriction
Debit Note AppliedInherited from Debit NoteAutomaticClass field is not displayed on the form
Debit Note RefundInherited from Debit NoteAutomaticClass field is not displayed on the form
Inventory Receiving VoucherManually selected on Add/Edit formDraft status only
Inventory Delivery VoucherManually selected on Add/Edit formDraft status only
Loss & AdjustmentManually selected on Add/Edit formDraft status only
Opening StockSelected in the Opening Stock Mapping formAccounting → Transactions → Inventory → Opening StockIf no Class is selected, it will still appear when filtering by All
Manufacturing OrderManually selected on Add form
AssetsManually selected on Add/Edit formNo status restriction
LicensesManually selected on Add/Edit formNo status restriction
ComponentsManually selected on Add/Edit formNo status restriction
ConsumablesManually selected on Add/Edit formNo status restriction
MaintenancesManually selected on Add/Edit form
DepreciationsSelected in the Depreciations Mapping formAccounting → Transactions → Fixed equipment→ Depreciations If no Class is selected, it will still appear when filtering by All
BillManually selected on Add/Edit formOnly before approval
Bill PaymentManually selected on Add/Edit form
CheckManually selected on Add/Edit form
TransferManually selected on Add/Edit form
Journal EntryManually selected on Add/Edit formEach line can belong to a different Class

Class Inheritance Rules

Some transactions automatically inherit the Class from their parent transaction without requiring manual selection:

Invoice (Class: Sales)

  └── Payment → automatically inherits Class: Sales


Credit Note (Class: Marketing)

  ├── Credit Note Applied → automatically inherits Class: Marketing

  └── Credit Note Refund  → automatically inherits Class: Marketing


Debit Note (Class: Finance)

  ├── Debit Note Applied  → automatically inherits Class: Finance

  └── Debit Note Refund   → automatically inherits Class: Finance


Sale Order Return (Class: Operations)

  └── Sale Order Refund   → automatically inherits Class: Operations


Purchase Invoice (Class: HR)

  └── Purchase Payment    → automatically inherits Class: HR


Purchase Order Return (Class: Sales)

  └── Purchase Order Refund → automatically inherits Class: Sales


⚠️ Important — No Backward Synchronization:
If you change or remove the Class on the parent transaction (for example, an Invoice) after a derived transaction (such as a Payment) has already been created, the existing Payment’s Class will not be updated automatically.
The change only applies to derived transactions created after the modification.


Special Rule — Journal Entry

Journal Entries behave differently from other transaction types:

  • Each line in a Journal Entry can belong to a different Class
  • A single Journal Entry may contain lines assigned to both Class A and Class B
  • When filtering reports by a specific Class, the system displays only the lines belonging to that Class — not the entire Journal Entry

Example

A Journal Entry contains 3 lines:

  • Line 1 → Class: Expense
  • Line 2 → Class: Finance
  • Line 3 → Class: Expense

When filtering reports by the Finance Class, only Line 2 will appear in the report.



Reporting Rules

Class FilterDisplay Result
Select a specific Class (e.g., Sales)Displays only transactions assigned to that Class
Select AllDisplays all transactions — including both classified and unclassified transactions


Views: 9

Recent Articles

  • Bulk Edit Banking Transactions
    6
  • Class Tracking for Transactions
    9
  • Debit Note Mapping
    39
  • Credit Note Mapping
    35
  • Polls vs Surveys
    35

Popular Articles

  • Warehouse
    2431
  • Item Settings
    1962
  • Plaid environment & Setup Your Bank Acco...
    1756
  • General Accounting Settings
    1664
  • Mapping Setup
    1521