In CustomBooks™, inventory layers are used to track the quantity and cost of items over time. These layers play a critical role in inventory valuation and sales postings, particularly when using the FIFO (First In, First Out) costing method.
Layer Creation
A new inventory layer is created each time an item is received into stock. This can happen through:
Item Receipts
Bills
Sales Returns
Inventory Adjustments
Each layer contains:
Quantity (units received)
Value (total cost of those units)
Layer Consumption (FIFO Method)
When an item is drawn down, usually in the form of sales document (e.g., invoice), CustomBooks™ will always attempt to consume the oldest available layer first.
Once that layer is fully drawn down, the system moves on to the next oldest layer, continuing until the sale is fully covered.
If all available layers have insufficient quantity, the sales document cannot be posted until additional inventory is added.
A frequent challenge when using FIFO is that document posting order may not match document dates. This can lead to “insufficient inventory” errors even when enough stock exists.
Invoice 100 dated 9/1/2025 posts first. It consumes the last 10 units in Layer A, leaving Layer B (20 units) untouched.
Invoice 101 is later created with a backdated date of 8/30/2025. Based on dates, it should consume 5 units from Layer A. However, Layer A has already been consumed by Invoice 100.
Result: CustomBooks™ reports insufficient inventory, despite 20 units still being available in Layer B and Invoice 101 only needing to utilize 5 units.
If you encounter this issue, you have two options:
Option A: Adjust Document Dates
Update invoice or transaction dates so they are in proper chronological order. This allows FIFO to align correctly with inventory layers. For example, Invoice 100 could be re-dated as 8/29/2025 or Invoice 101 could be re-dated as 9/2/2025 in the previous scenario. The posting order (Invoice 100, Invoice 101) would now match the chronological order in either scenario.
Option B: Re-Save Documents in Correct Sequence
If dates cannot be changed, re-save the documents in the order that matches their intended posting sequence:
Move the later document (e.g., Invoice 100) back to Draft status.
Save the earlier-dated document (e.g., Invoice 101) so it posts first.
Re-save the later document (e.g., Invoice 100) so it posts second.
This ensures FIFO consumes inventory correctly:
Invoice 101 consumes 5 units from Layer A
Invoice 100 consumes the remaining 5 units from Layer A, plus 5 units from Layer B
15 units remain in Layer B for future use
To avoid issues when working with FIFO and layers:
Enter transactions in chronological order whenever possible.
Avoid backdating sales documents once later-dated transactions have already posted.
Reconcile inventory frequently to ensure that available stock aligns with expected quantities.
Close the books to prevent reconciled periods from being altered.
Use draft status strategically to prevent premature posting when multiple documents are being entered for the same period.
Train users on FIFO behavior, so they understand why posting sequence can affect available inventory.
Monitor error messages closely — an “insufficient inventory” alert may not mean stock is missing, but that the correct layer has already been consumed.