Understanding Charge Class
What is Charge Class?
The Charge Classis the foundational element in Canary7's Billing Module. It defines how a charge is calculated, delineating between unit, weight, container, or numerous other quantifiable metrics. These are system-defined formulas that cannot be modified. Instead, they are selected and applied within Charge Types which define when and why a charge is triggered.
Each Charge Class belongs to a specific dataset, which determines the data it operates from (e.g., shipment headers, shipment details, inventory, receipts, etc.). This ensures accurate, context-specific billing based on the operational activity it relates to.
📘 Key Characteristics
System-defined: Cannot be created or modified by users.
Used by Charge Types: The Charge Class provides the logic; the Charge Type decides when to use it.
Dataset-bound: Each Charge Class applies to a specific dataset, such as
shipment_header,ds_receipt_detail, ords_inventory.
Accessing Charge Class
Within the Navigation menu, click on the search bar, type and click on "Charge Class". Charge Class is also in Billing > Charge Class.
📂 Charge Class List
| Charge Class Name | Dataset | Description |
|---|---|---|
| PerShipment | FlatRateCharge | shipment_header | Applies a flat charge per shipment. |
| ChargePerContainerUptoXContainer | shipment_header | Charges per container up to a certain quantity. |
| ChargePerContainerUptoXContainerAndUptoYThereAfter | shipment_header | Charges per container with two tiers—up to X, and a different rate thereafter. |
| PerShipment | FlatChargeUpToXQty + ChargePerQtyThereAfter | shipment_header | Combines a flat charge for the first X quantity and a per-unit charge beyond. |
| ChargePerShipmentPerContainer | shipment_header | Charges per container within each shipment. |
| ChargePerShipmentContainerUptoXContainerThereafter | shipment_header | Tiered charge per container up to X, then a different rate. |
| ChargePerShipmentContainerUptoXContainerAndUptoYThereafter | shipment_header | Multi-tiered charge per container with two thresholds. |
| PerShipmentDetail | FlatRateCharge | ds_shipment_detail | Flat charge per shipment detail line. |
| PerShipmentDetail | FlatChargeUpToXQty + ChargePerQtyThereAfter | ds_shipment_detail | Tiered charge based on quantity per detail line. |
| PerShipmentDetailChildCharge | ds_shipment_detail_child | Flat charge for each child line within a shipment detail. |
| ChargePerShipmentDetailChildUptoXQtyThereafter | ds_shipment_detail_child | Tiered quantity-based charge at the detail child level. |
| PerShipmentContainer | FlatRateCharge | ds_shipment_container | Flat charge per shipment container. |
| PerShipmentContainer | FlatChargeUpToXWeight + ChargePerWeightThereAfter | ds_shipment_container | Tiered charge based on weight in shipment containers. |
| PerReceiptCharge | ds_receipt_header | Flat charge per receipt. |
| ChargePerReceiptUptoXQtyThereafter | ds_receipt_header | Quantity-tiered charge per receipt. |
| ChargePerReceiptPerContainer | ds_receipt_header | Charges based on number of containers in a receipt. |
| ChargePerReceiptContainerUptoXContainerThereafter | ds_receipt_header | Container-tiered charge for receipts (X threshold). |
| ChargePerReceiptContainerUptoXContainerAndUptoYThereafter | ds_receipt_header | Multi-tiered charge for containers on a receipt. |
| PerReceiptDetailCharge | ds_receipt_detail | Flat charge per receipt detail line. |
| ChargePerReceiptDetailUptoXQtyThereafter | ds_receipt_detail | Tiered quantity-based charge on receipt detail. |
| PerInventoryPerQtyCharge | ds_inventory | Charges based on quantity held in inventory. |
| PerInventoryPerUnitCharge | ds_inventory | Charges per unique inventory unit. |
| PerInventoryPerVolumeCharge | ds_inventory | Charges based on inventory volume (e.g., cubic metres). |
| PerInventoryPerWeightCharge | ds_inventory | Charges based on inventory weight. |
| PerShipmentExtraPerQtyCharge | ds_shipment_extra | Charges based on quantity for additional shipment services. |
| PerShipmentContainer | FlatRateCharge2 | ds_shipment_container | Alternate flat-rate charge per shipment container. |
| PerInventory | FlatRateCharge | ds_inventory | Flat charge per inventory entry. |
| PerShipmentContainer | FlatChargeUpToXQty + ChargePerQtyThereAfter | ds_shipment_container | Tiered quantity-based charge per shipment container. |
| PerReceiptContainerCharge | FlatRateCharge | ds_receipt_container | Flat charge per receipt container. |
| PerReceiptContainerCharge | FlatChargeUpToXPieces + ChargePerPieceThereAfter | ds_receipt_container | Tiered piece-based charge per receipt container. |
| PerShipmentDetailChild | ChargePerUnit | ds_shipment_detail_child | Charges per unit at the detail child level. |
| PerInventoryLocation | FlatCharge | ds_inventory_location | Flat charge per inventory location. |