ACUMATICA

Acumatica Back Flush Manufacturing Guide

February 1, 2024 13 min read

Introduction

Back flush manufacturing is a production method where materials are automatically deducted from inventory based on finished goods production. This approach simplifies the manufacturing process by eliminating the need to track material consumption at each step.

Back Flush Concepts

Key concepts in back flush manufacturing:

  • Push vs Pull - Back flush is typically a push system
  • Phantom entries - Intermediate assemblies are not recorded
  • Automatic deduction - Materials consumed based on finished quantity
  • Variance tracking - Differences between expected and actual are captured

Configuration

Configure back flush on the item record:

// Configure item for back flush
POST /api/data/IN202500
{
  "InventoryID": { "value": "FINISHED-001" },
  "ItemClass": { "value": "MANUFACTURED" },
  "BackFlush": { "value": true },
  "IssueMethod": { "value": "BackFlush" },
  "StockItem": { "value": true }
}

Set Up BOM for Back Flush

// Create BOM with back flush settings
POST /api/data/AM208000
{
  "InventoryID": { "value": "FINISHED-001" },
  "RevisionID": { "value": "A" },
  "BackFlush": { "value": true },
  "BOMLines": [
    {
      "ComponentID": { "value": "RAW-MATERIAL-1" },
      "Qty": { "value": 2 },
      "OperationNbr": { "value": "10" }
    },
    {
      "ComponentID": { "value": "RAW-MATERIAL-2" },
      "Qty": { "value": 1 },
      "OperationNbr": { "value": "10" }
    }
  ]
}

Executing Back Flush

Create and release a production order:

// Create production order
POST /api/data/AM201000
{
  "OrderType": { "value": "WO" },
  "InventoryID": { "value": "FINISHED-001" },
  "Quantity": { "value": 100 },
  "WarehouseID": { "value": "MAIN" },
  "TranDate": { "value": "2024-02-01" },
  "MaterialIssueMethod": { "value": "BackFlush" }
}

Release and Material Issue

// Release production order - materials automatically issued
POST /api/data/AM201000/Release
{
  "OrderNbr": { "value": "WO-000456" }
}

When the order is completed, Acumatica automatically:

  • Deducts raw materials from inventory
  • Adds finished goods to inventory
  • Creates material and labor journal entries

Automation with API

class BackFlushManager {
    constructor(api) {
        this.api = api;
    }

    async createAndReleaseOrder(itemId, quantity) {
        // Create production order
        const order = await this.api.post('AM201000', {
            OrderType: { value: 'WO' },
            InventoryID: { value: itemId },
            Quantity: { value: quantity },
            MaterialIssueMethod: { value: 'BackFlush' }
        });

        // Release to trigger back flush
        await this.api.post('AM201000/Release', {
            OrderNbr: order.OrderNbr
        });

        return order;
    }

    async getMaterialVariance(orderNbr) {
        const order = await this.api.get(`AM201000/${orderNbr}`);
        return {
            expected: order.TotalMaterialCost.value,
            actual: order.ActualMaterialCost.value,
            variance: order.MaterialVariance.value
        };
    }
}

Summary

Back flush manufacturing simplifies production processes by automatically tracking material consumption based on finished goods. This reduces administrative overhead and improves inventory accuracy in repetitive manufacturing environments.

For more information, check out our other tutorials on Kit Assembly and Quality Control.