I created this test file.
plugin "beancount.plugins.auto_accounts"
option "booking_method" "FIFO"
2016-01-20 * "Vendor A, Inc." ""
invoice: "123456789"
Assets:Inventory 40 WIDGET_A {1.00 USD}
description: "The best widget ever"
Expenses:Freight 10.00 USD
Liabilities:AP:VendorA -50.00 USD
Liabilities:AP:VendorA 50.00 USD
Assets:Checking -50.00 USD
2016-02-01 * "Venue Orders" "Joe Customer" ^venue123456789
Income:Sales -17.95 USD
Income:Sales:Shipping -3.95 USD
Liabilities:SalesTaxCollected -1.42 USD
Expenses:ProcessingFees 0.95 USD
Assets:Payments 22.37 USD
2016-02-01 * "Venue Line Items" "Joe Customer (username)" ^venue123456789
Expenses:COGS 1 WIDGET_A
Assets:Inventory -1 WIDGET_A
When it runs, it doesn't use WIDGET_A {1.00 USD}, it creates a negative WIDGET_A and shoots out an error about negative lots.
Here is the holdings report
Account Units Currency Cost Currency Average Cost Price Book Value Market Value
----------------------------- ------ -------- ------------- ------------ ----- ---------- ------------
Assets:Checking -50.00 USD USD -50.00 -50.00
Assets:Inventory 40.00 WIDGET_A USD 1.00 40.00
Assets:Inventory -1.00 WIDGET_A WIDGET_A -1.00 -1.00
Assets:Payments 22.37 USD USD 22.37 22.37
Liabilities:SalesTaxCollected -1.42 USD USD -1.42 -1.42
----------------------------- ------ -------- ------------- ------------ ----- ---------- ------------
What am I missing about setting the FIFO method?