Accounting for purchases

Inventory asset value and what you pay your supplier when you buy goods is the same thing. Brightpearl is especially powerful in the fact that purchase orders and accounts payable are managed on the same system as inventory and cost of goods sold.

Here's a typical purchase > inventory > sale process.

  1. Purchase order is placed with supplier.
  2. Inventory is received into stock; asset values increase with a PG (Purchased Goods) journal. Balance sheet shows you have inventory, but as you don't yet have an invoice from the supplier, there is also a liability against "stock received not invoiced".
  3. Purchase invoice is received from supplier, and assigned to the purchase order with a PI (Purchase Invoice) journal. Liability from "stock received not invoiced" is transferred to supplier, and shows on accounts payable (creditors control account).
  4. Later, when the same inventory is sold [and you have Cost of Sales accounting on], a cost of goods sold journal is entered (GO; Goods Out). This decreases your asset and puts the value onto your profit and loss as a "cost of sales" expense:

If the purchase invoice is received before the inventory, then "stock received not invoiced" account code is still used, but the transactions appear in a different order; the PI before the PG. The end result is the same.

Important : The accuracy of your bottom line (profit and loss) depends on entering correct asset values for inventory when it's received into stock.

Price difference between receiving inventory and invoice

When receiving items into stock on a non-invoiced purchase order, the cost price list is used - based on the assumption that it's what you're going to pay when the invoice arrives later.

However if a purchase invoice is received after the goods have been received into stock and item prices have changed, Brightpearl will make accounting corrections to ensure that cost of sale is accurate.

These corrections will balance the difference in value between the asset value of the goods recorded at the time they were received (at the old price) and the asset value they have now using the new price.

Note that these balancing entries are posted directly to cost of sales and will not update the asset value of the in-stock goods, or the individual cost of sales values for any of the items already sold.

Taking the example above, where we received inventory at $10.00, but updating the price paid to $10.50 when the invoice arrives ... the goods in (PG) will still be at $10.00, but a double journal is posted when receiving the the purchase invoice as follows (PI & GO):


The extra $0.50 is placed onto the Cost of Goods Sold account preemptively. When the items are all eventually sold (GO journal), the cost of goods sold will show $10.50.

Landed Costs

When you buy inventory, the net (ex tax) price paid to your supplier is used as the asset value, which then ends up as the Cost of Goods Sold. For some businesses, there are significant additional costs such as freight and duty - which would normally appear on a separate invoice for another supplier, as a general "shipping" expense. If you prefer to show these costs as part of the Cost of Sale, you can allocate the freight costs to inventory asset value using the Landed Cost feature.

Read more about landed costs.

Automated accounting

Brightpearl will automatically create the following accounting for purchases (journal type in brackets):

Purchase order:

  1. Receiving the invoice against the purchase order (PI)
  2. Receiving the inventory on the purchase order (PG)
  3. Unreceiving inventory on the purchase order (PG)
  4. Recording a payment to a supplier (PP)

Purchase credit:

  1. Receiving the credit against the purchase credit (PC)
  2. Returning inventory to supplier - this must be done as an inventory adjustment (IA)
  3. Entering a refund from the supplier (PP)

Accounts payable account code

Brightpearl currently only allows a single account code to be used for accounts payable (creditors control). This is always account code 2100.

Purchases account code

Purchases, stock and expenses can be recognized in multiple account codes to help segregate financial reporting. The account code used for recognizing a purchase depends on:

  • Purchase or stock code assigned to the product

    Product records are assigned a stock code and a purchases code. If the product is stock tracked then the stock code will be used for recording the inventory assets (when the goods are received), so when the invoice is received the "stock received not invoiced" account code is used. If the product is non-stock tracked then the product purchases code will be used.

  • Purchase/expense code manually assigned to the order row

    Before the invoice is received on the order the stock/purchases code can be manually changed directly on an order row. This will override the default code assigned to the product. To ensure inventory assets are always recorded in the product assigned stock account go to Settings > Purchases > Purchase settings and select Yes for "Always use asset nominal code for inventory items on Purchase Orders?", this will prevent the account code from being manually edited on the order.

Purchase tax account code

Brightpearl currently only allows a single account code to be used for purchase or input tax. This is always account code 2201.

Stock received not invoiced

This is usually 2050, and should always be a liability code. Set this code at Settings > Company > Accounting: Account codes.



Have more questions? Submit a request