Skip to main content

Pre-Order Auto-Fill Invoice Logic

Distributor reference for pre-order auto-fill: how the Auto Fill Pre Order Invoices task adds pre-order products to invoices via Allocations.AutoShip, on-floor inventory, Customer History and Setting 201. Requires v22.11+.

B
Written by Bailey Naas-Thornton

Minimum Version Required: 22.11

Pre-Conditions

Must meet all conditions:

  1. Allocations.AutoShip field for the specific product/customer allocation must be set to Auto Ship (or equivalent internal value of 1).

  2. Inventories.OnFloorInventory for the product must be greater than 0 (available inventory exists).

  3. Customer History record for the specific product and customer must exist in the system.

  4. Product's Inventories.StatusEffective must be PreOrder or Active.

Steps

Scheduled Task (Auto Fill Pre Order Invoices) Logic includes:
​
​

  • Creating a Purchase Order with Pre-Order Products through the PO Generator sets the Auto-Ship field to True by default.
    ​
    ​NOTE: The Auto-Ship field is set on the Allocations table but is not included in the default view. See the Add/Remove Columns in Table View for a guide.
    ​
    ​

  • If Auto-Ship is set to False the Pre-Order Products are prevented from automatically being added to the existing invoice after the purchase is in the received status.
    ​
    ​

  • If Auto-Ship is set to True, the 'Auto Fill Pre Order Invoices' Scheduled Task adds the product(s) to the customer's next delivery invoice.
    ​
    ​

  • Once the Purchase Order with the pre-order products is in the received status, the product(s) are automatically added to the customer's next delivery invoice via the 'Auto Fill Pre Order Invoices' Scheduled Task when Auto-Ship is set to True.
    ​
    ​

  • The Scheduled Task, 'Auto Fill Pre Order Invoices' is run every 3 hours from 8 AM to 5 PM.

Allocations with Pre-Order Products
​
​

  • When the status of a Product changes from Active to Pre-Order, a zero Allocation (Limited Purchase Quantity and Reserve Inventory) is created. This only occurs when Setting 201 is set to True and is required for the Pre-Order workflow to add products to invoices as expected.
    ​
    ​

  • Once a Pre-Order Product is ordered on an Invoice, a Backorder is set on the Customer History record for that Product and Customer. When the Purchase Order of the Pre-Order Products is generated from the PO Generator, the Backorder is set back to 0 on the Customer History record.
    ​
    ​

  • Creating a Purchase Order with Pre-Order Products through the PO Generator automatically creates an Allocation (Limited Purchase Quantity and Reserve Inventory) with the Customer, and # of Units Allocated. The Start Date on the Allocations table matches the Receive Date of the Purchase Order.
    ​
    ​

  • Once Products are delivered to the Customer, the Units Allocated, Units Ordered, Units Sold, and Units Remaining fields are updated accordingly on the Allocation record

New Setup Process for Pre-Orders
​
​

If you have not used pre-orders before, and are looking to get setup, please follow the process on the Pre-Order Setup Dashboard

Creating Pre-Order Allocations

  • Standard Pre-Order: Allocations created via the Pre-Order (PO) Generator inherently tie the allocation to a purchase transaction (Purchase Trans ID), which reliably creates the necessary backorder and subsequent Customer History record. This method is the most reliable for auto-ship.

  • Import Routine: Allocations created via an Import Routine must be verified to ensure the routine explicitly sets the Allocations.AutoShip field to 'Auto Ship.' Imports may not automatically create the required Purchase Trans or Customer History.

Fields And Definitions

  • Allocation Type: Limit Purchase Quantity and Reserve Inventory - Allocation quantity will establish an upper limit of how many of the products the customer can purchase as well as reserve that same quantity for exclusive use by that customer.
    ​
    ​

  • Setting 201 - This is a system setting that can be marked as True or False. If set to true, it will require Allocations for Pre-Order Products to create an automatic zero Allocation.

  • Allocation: A designated quantity of product reserved for a specific customer or group of customers.

  • Allocations.AutoShip (Auto Ship): A setting on an allocation record that, when active, tells the system to automatically add the allocated quantity to a customer's invoice when the required conditions (inventory, history) are met.

  • Customer History: A system record that tracks a customer's prior sales/purchases for a specific product. This record is a key dependency for the auto-fill logic.

  • Inventories.OnFloorInventory: The current, available quantity of a product in stock.

  • API Commands - 14028 Auto_Fill_PreOrder_Invoices: A scheduled command or task responsible for processing allocations with AutoShip = 1 and applying them to pending invoices, provided all other criteria (Customer History, inventory) are satisfied. This function name can be misleading as it affects products with StatusEffective = Active as well as PreOrder.

  • Pre-Order (PO) Generator: The standard system tool/process for creating allocations tied to a formal pre-order process, typically resulting in a Purchase Trans ID.

Best Practices

  • To follow the Pre-Order workflow and to not change Auto-Ship to False
    ​
    ​

  • Create the purchase through the PO Generator tool. This automatically creates the Allocations needed for your customers.

Use Case for Auto-Ship set to False
​
​

  • Use Case: A customer orders 50 cases of a Pre-Order product. The distributor agrees to store the 50 cases and only deliver partial quantities of the order at the customer's request.
    ​
    ​

  • Users can set the Auto-Ship field on the Allocation to False to prevent the Units Remaining on the Allocation from automatically getting added when the 'Auto Fill Pre Order Invoices' scheduled task executes.
    ​
    ​

  • If Auto-Ship = False, Pre-Order Products must be manually invoiced.

Did this answer your question?