1. Overview
The Cost Accounting module stores and organizes product costing data: cost centers, rates, standard costs, production-order cost elements, variances, and links to Finance journals.
| Area | What you maintain |
|---|---|
| Core | Cost centers, cost items, drivers, rates, allocation rules |
| Resources | Machine types, machines, downtime; labor types via API |
| Standard costing | Product standard cost versions with materials and operations |
| Production | Orders, stages, materials, labor, machine hours, overheads, outputs |
| Analysis | Cost variances and detail lines |
| Integration | Posting rules, cost journal links, allocation logs |
| Reports | Filtered list views of the same data |
Important operating model: Most screens are CRUD data entry. Statuses, rollup totals, variance amounts, allocations, and Finance postings are maintained by users (or external Finance journals). There is no separate “calculate / allocate / post” button workflow in the current application services.
2. Getting started
2.1 Recommended setup order
- Prepare Finance dimension values (for cost centers), chart of accounts, fiscal periods, and voucher types.
- Prepare Inventory product/unit/location identifiers you will reference.
- Create cost centers, cost items, drivers, then rates.
- Create machine types and machines.
- Define allocation rules and posting rules.
- Build standard costs for products.
- Capture production orders and cost elements.
- Record variances and link Finance journals when posting.
2.2 Main navigation
Parent menu: Cost Accounting (/cost-accounting). Default redirect: cost items.
| Menu | Path | Purpose |
|---|---|---|
| Cost Centers | /cost-accounting/cost-center-settings |
Cost center settings |
| Cost Items | /cost-accounting/cost-items |
Cost element catalog |
| Cost Drivers | /cost-accounting/cost-drivers |
Allocation/measurement drivers |
| Cost Rates | /cost-accounting/cost-rates |
Rates by center and driver |
| Allocation Rules | /cost-accounting/cost-allocation-rules |
How costs move between centers |
| Production Orders | /cost-accounting/production-orders |
Order headers |
| Production Stages | /cost-accounting/production-order-stages |
Order stages |
| Materials | /cost-accounting/production-order-materials |
Material issues |
| Labor | /cost-accounting/production-order-labor |
Labor charges |
| Machine Hours | /cost-accounting/production-order-machine-hours |
Machine time |
| Overheads | /cost-accounting/production-order-overheads |
Overhead charges |
| Outputs | /cost-accounting/production-order-outputs |
Finished / by-product / scrap |
| Standard Costs | /cost-accounting/standard-costs |
Standard cost headers |
| Standard Cost Materials | /cost-accounting/standard-cost-materials |
BOM-like standards |
| Standard Cost Operations | /cost-accounting/standard-cost-operations |
Operation standards |
| Variances | /cost-accounting/cost-variances |
Variance headers |
| Variance Details | /cost-accounting/cost-variance-details |
Variance lines |
| Cost Journals | /cost-accounting/cost-journal-entries |
Links to Finance JEs |
| Posting Rules | /cost-accounting/cost-posting-rules |
Account mapping templates |
| Machine Types / Machines / Downtime | /cost-accounting/machine-* |
Resource masters |
| Production Order Cost report | /cost-accounting/reports/production-order-cost |
Report list |
Additional report routes exist for product cost, variance analysis, allocation, cost rates, machine/labor usage, and standard vs actual (list/filter style).
UI note: Screens use a shared CRUD page. Many foreign keys are entered as identifiers; enum fields may appear as numbers. Enter values carefully and keep a reference list of enum codes for your team.
3. Core master data
3.1 Cost centers
Link a Finance dimension value to cost-center behavior.
| Field | Meaning |
|---|---|
| Dimension value | Finance analytic cost center |
| Cost center type | Production, Laboratory, Quality, Storage, Administrative, Service, Other |
| Production / service flags | Role of the center |
| Machine hour rate | Optional default rate |
| Default overhead / WIP accounts | Optional Finance accounts |
| Notes | Free text |
3.2 Cost items
Catalog of cost elements.
| Field | Meaning |
|---|---|
| Code / name | Unique code per tenant |
| Cost item type | Direct material, direct labor, variable/fixed overhead, administrative, selling, scrap |
| Cost behavior | Variable, Fixed, Mixed |
| Default GL account | Optional Finance account |
| Active / sort / description | Catalog controls |
3.3 Cost drivers
Measurement bases such as hours or quantities.
| Field | Meaning |
|---|---|
| Code / name | Identity |
| Driver type | Time, Quantity, Count, Value, Percentage |
| Unit of measure | Text unit |
| Active / sort | Catalog controls |
3.4 Cost rates
Rate cards used when charging centers.
| Field | Meaning |
|---|---|
| Cost center / driver | Required links |
| Cost item | Optional |
| Rate | Monetary rate |
| Effective from / to | Validity |
| Fiscal period | Optional |
| Active / notes | Controls |
3.5 Cost allocation rules
Define how costs move from a source center toward targets.
| Field | Meaning |
|---|---|
| Code / name | Identity |
| Source / target cost center | From → to |
| Target cost item / driver | Optional targeting |
| Allocation method | Percentage, Fixed amount, By driver, Equal |
| Allocation basis | Value, Quantity, Hours, Percentage |
| Fixed percentage / priority | Method parameters |
| Effective dates / active | Controls |
4. Resources
4.1 Machine types and machines
| Entity | Key fields |
|---|---|
| Machine type | Code, name, category, default hourly rate, active |
| Machine | Code, name, type, cost center, location Guids, purchase info, hourly rate, capacity, status, active |
Machine status: Active, Idle, Under maintenance, Out of service.
4.2 Machine downtime
Record downtime events: machine, optional production order/center, downtime type, start/end, duration, cost impact, reason, status (Open / Closed / Cancelled).
Downtime types: Breakdown, Scheduled maintenance, Setup change, Waiting for materials, Power outage, Other.
4.3 Labor types
Labor type masters exist in the API (code, category, direct flag, default hourly rate, optional cost item/center). There is no dedicated menu screen in the current UI. Production labor lines store worker name/id and amounts directly and do not require a labor-type link.
5. Standard costing
A standard cost is a versioned product cost plan.
Header
| Field | Meaning |
|---|---|
| Code / name / product / version | Unique per product version |
| Fiscal period / effective dates | Validity |
| Standard material / labor / overhead / total | Rollup amounts |
| Status | Draft, Approved, Cancelled, Archived |
| Active / notes | Controls |
Materials
Standard quantity, unit cost, total, optional scrap percentage, unit, cost item, line number.
Operations
Operation name/type (Manual, Machine, Mixed), standard hours, rate, cost, optional cost center/driver, line number.
Statuses are user-maintained. Use Approved + Active for standards you intend to compare against production.
6. Production costing
6.1 Production order
| Field | Meaning |
|---|---|
| Order number | Unique |
| Product / batch / quantities / unit | What is produced |
| Planned/actual dates | Schedule |
| Status | Planned, InProgress, Completed, Cancelled, Closed |
| Priority / locations / fiscal period | Context |
| Standard cost link | Optional comparison basis |
| Total material / labor / overhead / total / unit cost | Rollups |
Status changes are manual (not enforced by a state machine).
6.2 Stages
Stage number/name, optional cost center, planned/actual times, status Pending / InProgress / Completed / Skipped.
6.3 Cost elements
| Screen | Typical content |
|---|---|
| Materials | Planned/actual qty, unit cost, total, optional stock movement id |
| Labor | Worker, date, hours, rate, total, direct flag |
| Machine hours | Machine, date, hours, rate, total |
| Overheads | Cost item, driver qty, rate, amount, allocation rule, allocated flag |
| Outputs | Finished good / by-product / scrap, quantity, unit cost, total |
Practice: Keep child line totals consistent with header rollups. Overhead amount is typically driver quantity times rate when you compute it offline or in a spreadsheet.
7. Variances
Compare standard vs actual for a production order/product.
Header
Links to production order, product, optional standard cost and fiscal period; analysis date; code; standard/actual material/labor/overhead/totals; variance amounts and percentage; nature (Unfavorable / Favorable / Neutral); posted flag and optional Finance journal id.
Details
Category (Material / Labor / Overhead), type (Price, Quantity, Mix, Yield, Volume, Spending), quantity/rate variances, standard/actual/total variance, nature, line number.
Variance math is entered by the user. Typical formulas for your procedure manual:
- Header variance = actual − standard for each cost class
- Detail lines break price vs quantity (and other textbook types) as your policy requires
8. Allocation and Finance integration
8.1 Cost posting rules
Templates that map event types to Finance accounts.
| Field | Meaning |
|---|---|
| Code / name / rule type | Material issue, labor, overhead, completion, variance, adjustment |
| Optional scope | Cost item, center, production order |
| Debit / credit / WIP / variance accounts | Chart of accounts |
| Voucher type / priority / active / dates | Posting policy |
Rules are reference configuration. Creating a rule does not post a journal by itself.
8.2 Cost journal entries
Bridge records that point to a Finance journal entry id.
| Field | Meaning |
|---|---|
| Journal entry id | Required Finance JE |
| Entry type | Material issue, labor, overhead, completion, variance, reversal, inventory adjustment |
| Date / debit / credit totals | Snapshot |
| Posted / posted at / by | Flags |
| Reversed / reversal entry | Reversal tracking |
| Optional production order / variance | Traceability |
Procedure: Post the journal in Finance, then create the cost journal link here and set posted flags as needed.
8.3 Cost allocation logs
Audit rows for allocations: rule, date, driver quantity, rate, allocated amount, source total, percentage, status (Draft / Approved / Posted / Cancelled), posted flag, optional journal id. Visible mainly via the allocation report list.
9. Reports
Report screens are read-only filtered lists of existing entities:
| Report | Source data |
|---|---|
| Production order cost | Production orders with cost rollups |
| Product cost | Standard costs |
| Variance analysis / standard vs actual | Cost variances |
| Allocation | Allocation logs |
| Cost rates | Cost rates |
| Machine usage | Production machine hours |
| Labor usage | Production labor |
Use them for review and export-style browsing rather than as separate calculation engines.
10. Permissions summary
Permission group: CostAccounting.
| Resource | Abilities |
|---|---|
| Cost center settings | Create, Update, Delete |
| Cost items / drivers / rates | Create, Update, Delete |
| Cost allocation rules | Create, Update, Delete (also covers allocation log access) |
| Production orders | Create, Update, Delete (includes stages and all cost element children) |
| Standard costs | Create, Update, Delete (includes materials and operations) |
| Cost variances | Create, Update, Delete (includes details) |
| Cost journal entries | Create, Update, Delete |
| Cost posting rules | Create, Update, Delete |
| Machines / machine types / downtime | Create, Update, Delete |
| Labor types | Create, Update, Delete (API) |
| Reports | Report screen access |
Parent menu opens when the user has Cost Items or Production Orders permission.
11. Relation to other modules
| Module | Relationship |
|---|---|
| Finance | Cost centers reference dimension values; posting rules and cost journals reference accounts and journal entry ids. Journals are created in Finance, then linked. |
| Inventory | Product, unit, warehouse/store/branch, and stock movement ids are soft references for materials and outputs. |
| Manufacturing | Separate manufacturing domain may also track production/machines. Cost Accounting keeps its own production order and machine entities; they are not automatically synchronized. |
| Payroll | Labor charges store worker identity/text; not auto-fed from Payroll. |
Appendix A — Quick procedures
A.1 Publish a standard cost
- Create header with product and version (
Draft). - Enter material and operation lines.
- Fill standard material/labor/overhead/total.
- Set status to Approved and active.
A.2 Cost a production order
- Create order and link standard cost if used.
- Add stages.
- Enter materials, labor, machine hours, overheads with totals.
- Update header rollups and unit cost.
- Record outputs.
- Set status to Completed or Closed.
A.3 Analyze and post a variance
- Create variance header from standard vs actual totals.
- Add detail lines by category/type.
- Create Finance journal for the variance if required.
- Link journal on the variance and/or cost journal entry; mark posted.
A.4 Charge overhead
- Ensure rates and allocation rules exist.
- Create production overhead lines (qty × rate = amount) and/or allocation logs.
- Set allocated/posted flags when done.
- Post Finance JE and link if GL impact is required.
Appendix B — Operating notes
| Topic | Guidance |
|---|---|
| Automation | Treat the module as a costing workbook in the ERP; calculate offline if needed, then enter results |
| Enums in UI | Keep a shared enum value list for your team |
| Identifiers | Copy valid Guids from Finance/Inventory carefully |
| Manufacturing overlap | Do not assume Manufacturing orders auto-create CA production orders |
| Labor types | Maintain via API if needed; labor entry screens do not require them |
| Field names | Prefer API/DTO field names when integrating; some form labels are shortened |
Appendix C — Document control
| Item | Value |
|---|---|
| Title | Cost Accounting Module User Guide |
| Source of truth | modules/costaccounting and frontend/src/app/modules/cost-accounting |
| Format | Markdown + Mermaid (PDF edition embeds rendered figures) |
| Screenshots | Not included (by design) |
This guide describes functional capabilities of the Cost Accounting module as implemented in the Vertex ERP codebase. UI labels may appear in English or Arabic depending on language settings.