Note: This explanation of the cost of goods sold (COGS) assumes that you understand the relationships between aACE inventory lot, usage, and transaction records.
The COGS process allocates inventory usage records to inventory lot records using the applicable actual cost method (e.g. FIFO, LIFO, or specific-unit logic). This enables aACE to determine the true cost of goods and to create the necessary COGS GL entries. The COGS reconciliation process requires that your aACE system is set up for inventory tracking.
COGS Process Walk-thru
Using a sample inventory product, we'll trace these three aspects of the COGS process:
- Inventory Lots
- Inventory Usage
- COGS Entries
aACE generates inventory lot records whenever inventoried items are procured or produced.
For this example, the Inventory Lots module shows that we have received a partial shipment of ten textbooks into current inventory. There are 90 more still on order. Each textbook is valued at $29.99. The Inventory COGS section at the bottom has no entries.
aACE generates inventory usage records whenever inventoried items are included in out-going shipments.
Continuing our example, suppose a sales order for ten textbooks is shipped. This creates the following inventory usage record, showing that ten units have been used, but none of them have been allocated. The Inventory COGS section has no entries.
The COGS reconciliation process allocates inventory usage to inventory lots in order to calculate the actual cost.
The process updates the inventory usage record and the ten used units now show as allocated. The Inventory COGS section now links to the relevant inventory lot and purchase order.
The process also updates the inventory lot record. Current inventory has been depleted and the units are now noted as used. The Inventory COGS section now links to the relevant inventory usage and out-going shipment.
The COGS reconciliation process also makes entries in the General Journal, removing ten textbooks from inventory and expensing them to the GL account Cost of Sales:
Running the COGS Process
The COGS reconciliation process typically runs as part of the Generate COGS Reconciliation automation schedule, but can also be run manually.
COGS Process Automation
Your system administrator can set up your system to run the COGS process automatically at Menu > System Admin > Preferences > Automation Schedules. By default, there are two schedules titled Generate COGS Reconciliation. One schedule runs every Sunday evening, while the other runs on the last night of every month. These automated entries always use the current date for the resulting General Journal entries.
If you customize these schedules, be aware that they can take a long time to complete. We recommend running them after work hours so as to avoid interfering with users' daily workflows.
Manually Running the COGS Process
If you execute this process manually, remember to also run the Generate Accrued COGS Reconciliation (available in the same GJ Actions list). If you run the COGS Reconciliation process without running the Accrued COGS Reconciliation process, your financials may become skewed by the sales and costs from unallocated inventory usage being accounted for in different periods. Conversely, if you run the Accrued COGS Reconciliation process without running the COGS Reconciliation process first, it may create accrued COGS entries for inventory usage records that could be allocated during the COGS reconciliation process.
- Navigate to Menu > Accounting > General Journal.
- At the list view, click Actions > Generate COGS Reconciliation.
- If applicable, enter the Limit-To Date (see below for important details), then click Yes.
The Limit-To Date allows you to backdate a COGS reconciliation:
- Limit-To Date used — The process uses the specified date for the General Journal entry. It considers all inventory lot and inventory usage records dated on or before that date. For this reason, including a Limit-To Date lengthens the process significantly and can tie up your machine for systems with larger data sets. We recommend starting the process at the end of the day when you leave your desk.
- Limit-To Date blank — The process uses the current date for the General Journal entry. It considers only inventory lot and inventory usage records that are new or have been changed since the last time the process was run. For this reason, it runs much faster, but for larger data sets it may still slow down your machine.