Skip to main content

Production

Advanced License Plating for Tasklet extends the Tasklet Mobile WMS scanner to support production consumption, output, and bulk consumption using license plates.

The solution supports six transaction types:

TransactionPurpose
ConsumptionRecord material usage against a production order component line
Consumption ReversalUndo previously posted consumption
OutputRecord finished or semi-finished production against a production order
Output ReversalUndo previously posted output
Bulk ConsumptionMove raw material into a controlled bulk consumption bin
Bulk Consumption ReversalReturn stock from the bulk consumption bin

Registrations from the scanner are validated immediately and then processed using a configurable execution mode — either asynchronously through a background job queue, or synchronously within the current transaction. All transaction types follow the same processing model.


How It Works​

Scanning and Registration​

The operator scans a barcode label at the device. The system reads the label data — which may include a license plate number, item identifier, quantity, lot number, and other information — and submits it as a registration.

Each registration is validated before it is accepted. If validation fails, the operator receives an immediate error at the device. If validation succeeds, the registration is either posted immediately (synchronous mode) or placed in a processing queue for background posting (asynchronous mode).

Processing Modes​

ModeWhat happens
SynchronousThe transaction is posted immediately. If anything goes wrong, the entire transaction is rolled back and the operator sees the error.
AsynchronousThe transaction is placed in a queue and posted by a background job. The operator can continue scanning without waiting. Failures are visible on the Queue Monitor page.

The mode is configurable per item, per SKU, or globally. See Execution Mode for details.

Queue Monitor​

When running in asynchronous mode, the Scan Processing Queue page and Queue Monitor part provide visibility into transaction status. Each entry progresses through the following states:

StatusMeaning
PendingWaiting to be processed.
ProcessingCurrently being posted by the background job.
SuccessPosted successfully.
FailedPosting failed. Review the error message and retry or correct.
SuspendedPaused due to a dependency or controlled exception.
CancelledWithdrawn from processing.

Failed entries are retried up to 3 times automatically. If they remain failed after retries, they require manual intervention — correct the underlying issue and use Process Entry to retry, or cancel the entry.

Reversing from Business Central​

The Reverse Entry action on the queue page allows an administrator to reverse a successfully processed transaction without requiring the operator to rescan at the device. The system creates a new reversal entry and processes it through the standard pipeline.

Original TypeReversal Created
OutputOutput Reversal
ConsumptionConsumption Reversal
Bulk ConsumptionBulk Consumption Reversal

Only entries with Status = Success can be reversed. The full quantity is reversed; for partial reversal, use the scanner device.


Consumption​

Use consumption to record that raw material has been used against a production order.

How to Use​

  1. Select or scan the production order (for example, from a job sheet). This tells the system which order the material is being consumed against.
  2. Scan the license plate of the pallet or stock unit being consumed.
  3. The system derives the item, lot, and quantity from the license plate content and posts consumption.

If the license plate contains exactly one item, the full content is consumed automatically. If it contains multiple items, you can specify which item and how much.

Without a License Plate​

Where no license plate is available, you can consume by scanning the item and confirming the quantity manually. A lot number is required if the item has lot tracking enabled.

Item References in Production Consumption​

Production consumption scanning can resolve an item from an Item Reference instead of requiring the item number. The supported reference types are:

Reference typeIdentifier used during scanning
Bar CodeThe value in Reference No.
VendorThe vendor number in Reference Type No. and the vendor item identifier in Reference No.

Configure the Item Reference's Unit of Measure and Standard Quantity to describe what the scanned identifier represents. The Standard Quantity is used for Consumption and Bulk Consumption when the operator scans the reference without entering a quantity. It does not change the item's normal unit of measure setup or affect other warehouse processes.

The scanner keeps Quantity in the Item Reference's unit of measure. Units are calculated in the unit selected by Units UOM Source in MOB Setup. For example, when Units UOM Source is Put-away Unit of Measure, an item with PCS as its base unit and BOX as its put-away unit behaves as follows:

Item ReferenceReference UOMStandard QuantityQuantity after scanningUnits in put-away UOMBase quantity
Vendor referenceBOX11 BOX1 BOX10 PCS
Barcode referenceBAG11 BAG0.2 BOX2 PCS
Barcode referencePCS55 PCS0.5 BOX5 PCS

The conversion is applied only to calculate Units. The Quantity and its reference unit of measure remain paired, so the scan is posted with the correct reference quantity and the correct base quantity.

Partial scans do not use Standard Quantity. When the operator performs a partial scan, the quantity entered or encoded on the scanned label is used. If no quantity is supplied, the scanner does not apply the Item Reference's Standard Quantity.

How a Scanned Value is Resolved to an Item​

A scanner has no way of knowing whether the value it read is an item number, a barcode, or a vendor item identifier. Where the scanner puts the value determines how it is resolved.

When the value arrives as an Item Reference No. it is matched against Item References only, in two passes:

  1. Bar Code references — references with Reference Type Bar Code, and references with a blank Reference Type.
  2. All other reference types — including Vendor references.

If nothing matches, the scan is rejected.

Use a Bar Code reference to pin the result

Because bar code references are matched first, adding a Bar Code reference is the way to control which item a given value resolves to. Where the same Reference No. exists on more than one reference — for example two vendors that use the same identifier for different items — the Bar Code reference wins, and the other references are never reached.

This lever applies only when the scanner sends the value as an Item Reference No. When the value arrives as an Item No., references are searched in a single pass with no preference for bar code references.

When the value arrives as an Item No. it is resolved in this order, and the first match wins:

  1. Item Reference — the value is matched against Item References of any type, in a single pass. This is tried first because only the reference carries the unit of measure and Standard Quantity that the scan must be interpreted with.
  2. Item No. — the value is matched against the item number.
  3. GTIN — the value is matched against the item's GTIN.
Where possible, keep item numbers out of the reference number space

Because Item References are matched first, a value that is both a valid Item No. and another item's reference number resolves to the reference, and the scan is posted against that other item.

When you set up Item References, avoid values that duplicate an existing item number. If your vendors supply item identifiers that collide with your own item numbers, prefix or otherwise distinguish them before entering them as references.

Partial Consumption​

To consume only part of a license plate, supply a quantity along with the scan. The remaining stock stays on the license plate and remains available for subsequent scans.

Returning Unused Material​

If stock remains at the end of the process, use Consumption Reversal to return unused material to inventory.


Consumption Reversal​

Use consumption reversal to undo previously posted consumption — for example, when material was scanned in error or some stock was not actually used.

How to Use​

  1. Identify the production order and line the original consumption was posted against.
  2. Scan the license plate or specify the item that was consumed.
  3. Confirm the quantity to reverse — or leave blank to reverse the full amount.

Important​

Only consumption that was originally posted through the scanner can be reversed through the scanner. Consumption posted directly in Business Central through other mechanisms is not visible to this reversal process.

The reversal quantity cannot exceed the net posted consumption quantity for the matched combination.


Bulk Consumption​

Use bulk consumption when raw material enters production before it can be reliably linked to a specific production order. This is common in environments where material is brought to the production area and consumed over time across multiple orders.

Rather than posting directly to a production order, bulk consumption moves stock into a controlled bulk consumption bin. Once the material is in that bin, downstream processes — such as automatic flushing — can consume it against orders as production progresses. This is a stock movement only at the scanner; it does not immediately post consumption against a production order.

Full or Partial Movements​

You can scan the entire license plate at once, or scan a portion of it. Both are valid.

This flexibility is possible because the bulk consumption bin is configured to strip license plate detail when stock arrives. Once material enters the bin, it is no longer tracked at the individual LP level — it becomes part of the bin's general stock. This means there is no technical risk in partially moving a pallet into the bin: the remaining stock stays on the original license plate until it too is scanned.

Use a partial scan when, for example, only part of a pallet is needed on the shopfloor at this time, or when a pallet is shared between production areas.

How to Use​

  1. Open the Bulk Consumption screen in Tasklet.
  2. Select or confirm the work centre.
  3. Scan the pallet or handling-unit identifier.
  4. Optionally, enter a quantity if you want to move only part of the pallet. Leave the quantity blank (or zero) to move the full license plate content.
  5. Confirm the transaction.

The system moves the scanned stock — in full or at the specified quantity — into the bulk consumption bin associated with the selected work centre.

Prerequisites​

  • The work centre must have Allow Bulk Consumption enabled.
  • The work centre must have a Bulk Consumption Bin Code configured.
  • The bulk consumption bin must have Strip License Plate enabled. This is what makes partial movements safe — stock loses its LP association when it enters the bin.
  • Each item on the license plate must have its Bulk Consumption Method set to Allow (on the item or SKU).
  • At least one released production order must require the item as a component at the location.

Bulk Consumption Reversal​

Use bulk consumption reversal to return stock from the bulk consumption bin — for example, when a pallet was scanned in error or material was not actually used.

How to Use​

  1. Open the Bulk Consumption Reversal screen in Tasklet.
  2. Select or confirm the work centre if required.
  3. Scan the pallet or handling-unit identifier.
  4. Confirm the quantity to reverse — or leave blank to reverse the full amount.

The system moves the stock back out of the bulk consumption bin.


Bulk Consumption Allocation​

Once raw material has been moved into a bulk consumption bin, it needs to be consumed against the production orders that actually used it. Bulk consumption allocation handles this automatically — apportioning the material across eligible orders in proportion to what they produced, posting consumption journal entries, and retaining a full explanation of how each quantity was derived.

Why Allocation Is Needed​

Bulk consumption deliberately separates the moment material enters the production area from the moment it is consumed against an order. The operator stages material into a shared bin without choosing which order it belongs to. Allocation closes that gap at the end of the production day, attributing the staged material to the orders that ran.

How It Works​

Allocation follows a calculate → adjust → post workflow:

  1. Calculate — the system examines what was scanned into the bulk bin (from queue detail records), nets off any reversals, identifies the production orders that produced output that day, and computes a proportional apportionment. The result is an allocation proposal — a set of unposted records that show what would be consumed, against which orders, and why.

  2. Adjust (optional) — a user can review the proposal on the Bulk Allocation Worksheet, exclude groups, or correct quantities before anything is posted.

  3. Post — the proposal is posted as consumption journal entries against the production order component lines. The proposal records become the allocation log.

Each step is independent: calculation can be repeated, a proposal can be discarded and recalculated, and posting only proceeds when the user or schedule confirms it.

Allocation Grouping​

Queue details are grouped by production day, location, bulk bin, item, variant, lot, and package. Within one production day, repeated movements of the same inventory combination are accumulated and allocated together.

Serial-tracked items cannot be bulk consumed

A serial-tracked item can only ever have a quantity of one and is specific in nature, so it is not suitable for staging into a shared bin and apportioning later. Scanning one for bulk consumption is rejected at the scanner.

Reversals​

Reversals are netted against forward movements before allocation begins. A reversal reduces the quantity available for allocation regardless of which production day it was scanned in. Where the forward and reversal quantities cancel out completely, the group is closed with nothing allocated.

Proportional Apportionment​

For each group, the system finds the released production order component lines eligible to receive consumption — those aligned to the bulk bin, with a flushing method of Manual or Pick + Manual, and whose production order produced output on the same production day.

A component line is aligned to the bulk bin in one of two ways:

  1. Posted output at the work centre — the production order recorded output at a work centre whose Bulk Consumption Bin Code is this bin. This is what the order actually ran, not what it was planned to run.
  2. Component bin code — the component line's own Bin Code is this bin. Used wherever the first test does not hold, including orders that produced output without a work centre.

Each component line's demand is calculated as the net output quantity multiplied by the component's quantity per. The available quantity is then distributed across all eligible component lines in proportion to their demand.

Production Day Boundary​

Allocation is anchored to the production day — the same configurable day boundary used throughout the production module. Material staged on a given production day is allocated only against output from that same day. This prevents one day's material from being spread across another day's orders.

A production day that is still open (its cut-off has not yet passed) is not allocated automatically. Scheduled runs process only completed days. A manual run can include the current day with an explicit confirmation.

Bin Balance Ceiling​

Allocation never exceeds the physical bin balance. If the bulk bin holds less stock than the net eligible quantity — because material was moved, adjusted, or counted outside the allocation process — the available quantity is capped and the shortfall is flagged on the allocation log. The shortfall is a closed outcome, not a retry.

Finish Guard​

A production order cannot be finished while unallocated bulk consumption entries exist for a qualifying component at an aligned work centre. The guard fires during Check Before Finish and identifies the specific component, work centre, and bin. Allocate and post before finishing the order.

Running Allocation​

Allocation can be triggered in three ways:

MethodHow
Bulk Consumption Allocation reportSearch for Bulk Consumption Allocation in the Tell Me bar. Choose Calculate Only to produce a proposal, or Calculate and Post to calculate and post in one step. Filter by work centre if needed.
Bulk Allocation Runs pageLists all allocation runs with their status, group counts, and timestamps. Use Run Allocation to start a new run, or Open Worksheet to review an existing proposal.
Scheduled (Job Queue)Schedule the Bulk Consumption Allocation report to run automatically — for example, after each production day ends.

Bulk Allocation Worksheet​

The Bulk Allocation Worksheet shows the allocation proposal for a selected run. Each row is an allocation group (one inventory combination for one production day). The subpage shows the individual component lines, their demand, allocated quantity, and status.

From the worksheet you can:

  • Post — post all calculated and adjusted groups.
  • Recalculate — discard the proposal for this run and rebuild it from current data. Other outstanding runs for the same location and bin are left alone. You are warned before any manual adjustments are lost.
  • Discard — discard the proposal entirely and return queue details to their original status.
  • Exclude Group — remove a specific group from this posting without cancelling the underlying queue details.
  • Reverse Posting — reverse the consumption already posted for the selected groups. See Reversing a Posted Allocation.
  • Allocation Log — open the full group history for the run, including groups that have been reversed.

The worksheet also lists the contributing bulk consumption entries and the consumption item ledger entries a group posted, and each allocation line can open its production order or that order's component list.

Show Reversed Groups controls whether reversed groups appear. They are hidden by default; switch it on to see a reversal and its replacement side by side after a day has been recalculated.

Reversing a Posted Allocation​

Where consumption has been posted against the wrong orders — or material needs to go back to the bin and be allocated again — select the groups on the worksheet and choose Reverse Posting.

Reversal posts the offsetting consumption and puts the allocation back where it was before posting:

  • an offsetting consumption entry is posted for each allocated component line, in the group's own production day, carrying the same lot or package
  • the group is marked Reversed and stamped with who reversed it and when
  • the contributing queue details return to Not Allocated, so the day can be recalculated from current data
  • the run returns to Open, ready for a fresh calculation

A group can only be reversed while its production orders are still Released, and while the original production day is still in an open inventory period. A finished order must be reopened first.

Allocation Statuses​

Queue Detail Status​

Each queue detail carries a Bulk Allocation Status that tracks its progress:

StatusMeaning
Not AllocatedAwaiting allocation. Will be picked up by the next run.
ProposedIncluded in an unposted proposal.
AllocatedSuccessfully allocated and posted.
Partially AllocatedAllocated with a shortfall — the bin held less than the net eligible quantity.
ErrorAllocation failed. Review the error and retry.
DeferredNo eligible output found for this production day. May be released by an extended window.
SuspendedExhausted retries. Requires manual intervention to return to Not Allocated.
CancelledWithdrawn from the allocation process.

Group Status​

Each allocation group on the worksheet has its own status:

StatusMeaning
CalculatedProposal computed, ready to post or adjust.
AdjustedManually modified after calculation.
PostedSuccessfully posted as consumption.
ReversedThe posted consumption was reversed from the worksheet. Kept as history; hidden unless Show Reversed Groups is switched on.
ErrorCalculation or posting failed for this group.
DeferredNo eligible output found.
ExcludedManually excluded from this run.
SuspendedExhausted retries.

Setup​

Bulk consumption allocation uses the same setup as the existing bulk consumption feature:

SettingWherePurpose
Allow Bulk ConsumptionWork Center CardEnables the work centre for bulk consumption and allocation.
Bulk Consumption Bin CodeWork Center CardThe dedicated bin where material is staged. Must have Strip License Plate enabled.
Bulk Consumption MethodItem Card / SKU CardSet to Allow for items eligible for bulk consumption.
Flushing MethodProd. Order ComponentMust be Manual or Pick + Manual for the component to receive allocated consumption.
Consumption Journal Template / BatchMOB SetupThe journal template and batch used for posting allocated consumption.

No additional setup is required beyond what is already configured for bulk consumption scanning.


Output​

Use output to record finished or semi-finished production against a production order and create inventory on a license plate.

This section covers single-level output — where the scanned license plate represents a single inventory level. Multi-level finished goods output (pallet-to-carton hierarchies) is covered under Hierarchical (Multi-Level) Output.

How to Use​

  1. Confirm the work centre context. This is needed to identify the correct production order.
  2. Scan the output label. The label provides a handling-unit identifier, product identifier, and quantity or weight.
  3. The system resolves the production order, assigns or validates the license plate, and posts the output.

What Happens Automatically​

The system handles several steps without manual input:

  • Production order resolution — if only one released order matches the item and date, it is selected automatically. See Production Order Auto-Resolution.
  • License plate assignment — the license plate may come from the label, be constructed from a GS1 serial number, or be auto-assigned from a number series.
  • Lot number assignment — if the item requires lot tracking but the label has no lot, the system can auto-generate one from the item's lot number series or a date-based fallback.
  • Expiration date calculation — if the item has lot tracking with expiration dates enabled and the label provides no expiration date, the system calculates one using the item's Expiration Calculation formula.
  • Work centre validation — where routing exists, the system confirms the work centre is valid for the item.

License Plate Requirement​

In the current release, output always requires a license plate. The license plate must either not exist yet or be empty (no stock content). A license plate that already contains stock cannot be reused for new output until it has been reversed and cleared.


Output Reversal​

Use output reversal to undo a previously posted output — for example, when the wrong item was selected during weighing or an incorrect label was printed.

How to Use​

  1. Scan the same label that was used for the original output.
  2. The system resolves the license plate, confirms it has stock, and posts the reversal.

The reversal quantity must not exceed the available quantity on the license plate.

Applies-to Entry Resolution​

Business Central requires an output reversal journal line to reference the specific Item Ledger Entry it is reversing. The standard platform logic resolves this automatically when exactly one open output entry matches the tracking combination. However, when multiple open entries share the same lot, serial, or package number for the same production order — for example, because the same lot was used across several earlier outputs on different license plates — the platform cannot resolve the entry and requires it to be specified explicitly.

This extension handles that case automatically using a two-pass search:

  1. License plate match — the posting engine first attempts to locate an open output entry where the license plate number was recorded at the time of original posting. This is the most precise match and directly ties the reversal to the entry that created the stock on that license plate.

  2. Fallback — if no entry is found by license plate, the engine searches the full set of open output entries for the same production order, item, location, and tracking combination, and selects the oldest open entry (lowest Entry No.) with sufficient remaining quantity.

note

It is important to note that the license plate is not directly embedded in the Item Ledger Entry — it is carried as the External Document No., which is a best-effort link. After an output is posted, the underlying inventory may have been consumed, moved, or adjusted, and those subsequent transactions can affect which entries remain open. For lot-tracked items in particular, the FIFO fallback ensures the reversal is applied correctly even when the license plate link cannot be matched.

Hierarchical (Multi-Level) Output​

The Output section above covers single-level output, where the scanned license plate represents a single inventory level. Some finished goods are produced as a multi-level license plate structure — for example:

  • a pallet containing cartons, or
  • a pallet of cartons that each contain individual pieces.

For these items, a single scan on the shopfloor creates the entire structure. The system posts the output and then automatically recomposes the resulting inventory into the staged carton and piece license plates, preserving the full parent-child hierarchy and traceability.

When It Applies​

Hierarchical output is controlled by the Hierarchical Output setting on the item or SKU:

SettingBehaviour
(blank — default)Output is registered as a single-level license plate, for example a single pallet or hopper bin scanned directly to a production order.
HierarchicalOutput is validated against a multi-level hierarchy of license plates pushed from the shopfloor system. A matching hierarchy set must exist in staging before the scan can be accepted.

The default remains single-level output. An item only uses hierarchical output when it is configured for it and matching staged hierarchy data exists.

Staged Hierarchy Data​

Hierarchical output is driven by staging data supplied by the shopfloor (factory floor) system ahead of the scan. The staging data is the authoritative source for the item, quantity, lot, variant, and the full license plate hierarchy. It defines:

  • the top-level (pallet) license plate,
  • the child cartons and, where relevant, the pieces within each carton,
  • the quantity and carton/unit counts at each level.

You can review staged hierarchies on the Hierarchical LP Staging page.

How to Use​

  1. Confirm the work centre context, as with single-level output.
  2. Scan the pallet (top-level) label. The scan provides the handling-unit identifier (license plate number or GS1 serial number) that locates the staged hierarchy.
  3. The system validates the staged hierarchy, posts the output at the pallet level, and recomposes the inventory into the staged cartons and pieces.

The operator only scans the top-level label — the full structure is built automatically.

What the Scan Provides​

FieldRequiredNotes
License Plate No. or GS1 Serial No.AlwaysLocates the staged parent/top-level hierarchy. At least one must be provided.
Item No.OptionalUsed to confirm the process; if supplied, must match staging.
QuantityOptionalValidation only; if supplied, must match the staged total.
Carton CountOptionalValidation only; if supplied, must match the staged carton/unit total.

Any optional value supplied by the scan is validated against staging and must match — the scan cannot override the staged data.

Validation and Reconciliation​

Before output is posted, the system checks that:

  • exactly one staged hierarchy matches the scanned identifier,
  • the staged structure matches the expected hierarchy,
  • the staged quantity and carton/unit totals reconcile across the hierarchy levels,
  • the top-level license plate is available for output (it must not already contain stock),
  • a production order can be resolved (from staging or through auto-resolution).

If any check fails, the transaction is rejected. Quantity and carton reconciliation can be extended by other apps — for example, the Connect Dual Unit of Measure app applies its own unit reconciliation logic where relevant.

Processing​

Hierarchical output is always processed synchronously — the output, hierarchy recomposition, and traceability all complete before the operator continues. The whole transaction is atomic: if any part fails, nothing is posted and no partial hierarchy remains.


Production Day​

A configurable production day anchors transaction grouping and traceability. The production day may differ from the calendar day, supporting operations that cross midnight.

A production day runs from the configured start time until one second before the same time the following calendar day. For example, with a 03:00 AM start time, all scans between 03:00 Monday and 02:59:59 Tuesday belong to Monday's production day.

Start Time Resolution​

PrioritySource
1Location — Production Day Start Time
2MOB Setup — Production Day Start Time

Production Time Zone​

Scanner devices connect through web services that operate in UTC. To ensure production day boundaries are evaluated in the factory's local time, configure the Production Time Zone setting.

PrioritySource
1Location — Production Time Zone
2MOB Setup — Production Time Zone
3No conversion (session time zone used)

The setting uses Windows time zone identifiers (for example, New Zealand Standard Time). Daylight saving time is handled automatically.

When to configure

If your factory does not operate in UTC, always configure the Production Time Zone. Without it, production day boundaries may be evaluated incorrectly — for example, a scan at 08:00 NZST could be treated as 20:00 UTC the previous day.


Production Run Span​

The Production Run Span setting controls how the scanner selects candidate production orders during auto-resolution.

Values​

ValueWhen to useWhat it does
Single DayOne production order per item per day is typical.Looks for released orders with a Starting Date equal to today's production day.
Multi DayA production run may carry over midnight.Looks for released orders that started on or before today and are still active on the shopfloor.
Multiple Orders per DaySeveral orders for the same item run on the same day.Looks for released orders on today's production day and uses the Active on Shopfloor flag to narrow to those currently in progress.
(blank)No restriction.Behaves the same as Multi Day when no default is set.

Where to Configure​

PrioritySource
1Stockkeeping Unit — Production Run Span
2Item — Production Run Span
3MOB Setup — Default Production Run Span

Production Order Auto-Resolution​

When the scanner sends an output registration without a production order number, the system attempts to find the correct order automatically.

Stage 1 — Production Run Span Filter​

The item's effective Production Run Span determines the initial candidate set:

Effective SpanOrders Considered
Single DayReleased orders for the item with Starting Date equal to today's production date.
Multi DayReleased orders for the item with Starting Date on or before today, still active on the shopfloor.
Multiple Orders per DayReleased orders for the item on today's production date, narrowed by the Active on Shopfloor flag.
(blank)Released orders for the item with Starting Date on or before today.

A Location Code filter is also applied at this stage.

If Stage 1 returns exactly one candidate, resolution is complete.

Stage 2 — Production Order Filter​

When Stage 1 returns more than one candidate, the Production Order Filter configured on MOB Setup is applied as an additional filter. After applying it, exactly one order must remain. If zero or more than one match, the scanner must supply the production order explicitly.


Execution Mode​

Controls whether transactions are posted immediately or queued for background processing.

ModeBehaviour
AsynchronousTransaction is queued and posted by a background job.
SynchronousTransaction is posted immediately. Any error causes full rollback.

Where to Configure​

PrioritySource
1Direct Post flag on the queue record
2Stockkeeping Unit — Production Execution Mode
3Item — Production Execution Mode
4MOB Setup — Production Execution Mode
5Fallback: Asynchronous

Location Resolution​

A Location Code is required before any production posting can proceed. When the scanner does not include one, it is resolved automatically:

PrioritySourceApplies To
1Prod. Order Line Location CodeAll types (when order and line are present).
2Work Center Location CodeOutput, Output Reversal, Bulk Consumption, Bulk Consumption Reversal.
3Warehouse Employee default Location CodeOutput, Output Reversal.

If no source yields a location, the transaction fails with an error identifying the resolution attempts and remediation guidance.


Setup Reference​

This section lists all production-related setup fields, organised by scope.

MOB Setup (Global)​

Configured in the Production section of the MOB Setup page.

FieldTypeDescription
Production Day Start TimeTimeThe time at which a new production day begins. Can be overridden per location.
Production Time ZoneTextThe time zone in which the Production Day Start Time is interpreted. Uses Windows time zone identifiers. Can be overridden per location. Leave blank to use the server session time zone.
Default Production Run SpanOption (Single Day, Multi Day, Multiple Orders per Day)Controls which released production order lines are considered during output auto-resolution. Used as the fallback when neither the item nor SKU specifies a value.
Production Execution ModeOption (Asynchronous, Synchronous)Global default execution mode. Defaults to Asynchronous when blank.
Production Order FilterFilterAdditional table filter applied to Prod. Order Lines during auto-resolution Stage 2. Edited through a standard filter page.
Output Posting License PlatingOptionControls whether the system may automatically assign a licence plate number during output posting when one is not already provided. This setting is not part of the core production output functionality described in this document. It is intended only for scenarios where a licence plate is not pre-assigned and must be generated at posting time.
Auto-Generate Output Lot No.BooleanAuto-generates a Lot No. for output when the scanned label has no lot. Priority: scanner lot → subscriber event → item lot number series → DDMMYY + Location Code fallback.
Auto-Assign Output Licence Plate No.BooleanAuto-assigns a License Plate No. from the configured LP Number Series when no license plate is provided and no subscriber assigns one.
Consumption Journal TemplateCodeItem Journal Template for posting consumption. Must be type Consumption.
Consumption Journal BatchCodeItem Journal Batch for posting consumption.
Output Journal TemplateCodeItem Journal Template for posting output. Must be type Output.
Output Journal BatchCodeItem Journal Batch for posting output.

Location​

FieldTypeDescription
Production Day Start TimeTimeOverrides the MOB Setup start time for this location.
Production Time ZoneTextOverrides the MOB Setup time zone for this location.

Item​

Configured on the Item Card under the Advanced License Plating group.

FieldTypeDescriptionResolution
Production Run SpanOptionControls order auto-resolution behaviour for this item.SKU → Item → MOB Setup
Production Execution ModeOptionExecution mode for this item.SKU → Item → MOB Setup → Asynchronous
Output License PlatesOptionControls whether a licence plate may be automatically assigned for output for this item when one is not already provided. This setting is not part of the core production output functionality described in this document. It is intended only for scenarios where a licence plate is not pre-assigned.Item only.
Bulk Consumption MethodOption (Allow, Disallow)Whether this item is eligible for bulk consumption.SKU → Item
Hierarchical OutputOption (blank, Hierarchical)Whether output for this item is registered as a single-level license plate (blank) or validated against a multi-level staged hierarchy (Hierarchical). See Hierarchical (Multi-Level) Output.SKU → Item

Stockkeeping Unit​

Configured on the Stockkeeping Unit Card. Provides location- and variant-specific overrides.

FieldTypeDescriptionResolution
Production Run SpanOptionOverrides the item-level setting.SKU → Item → MOB Setup
Production Execution ModeOptionOverrides the item and global setting.SKU → Item → MOB Setup → Asynchronous
Bulk Consumption MethodOption (Allow, Disallow)Overrides the item-level setting.SKU → Item
Hierarchical OutputOption (blank, Hierarchical)Overrides the item-level setting.SKU → Item

Work Centre​

Configured on the Work Center Card.

FieldTypeDescription
Allow Bulk ConsumptionBooleanWhether this work centre supports bulk consumption.
Bulk Consumption Bin CodeCodeThe bin where material is moved during bulk consumption. Must be a dedicated bin.

License Plate Prefix Setup​

Configured through the License Plate Prefix Setup page (accessible from MOB Setup). Controls how internal license plate numbers are constructed from scanned GS1 serial numbers.

FieldTypeDescription
Entry No.IntegerPrimary key, auto-increment.
DepthIntegerLicense plate hierarchy depth. 1 = single-level, 2 = two-level, 3 = three-level.
Location CodeCodeBlank = default for all locations. A populated value = location-specific override.
PrefixCodePrepended to the serial number when constructing the license plate number.
DescriptionTextOptional description.

The combination of Depth and Location Code must be unique.

Setting Resolution Summary​

SettingResolution Chain (highest priority first)
Production Day Start TimeLocation → MOB Setup
Production Time ZoneLocation → MOB Setup → Session time zone
Production Run SpanSKU → Item → MOB Setup
Production Execution ModeDirect Post flag → SKU → Item → MOB Setup → Asynchronous
Bulk Consumption MethodSKU → Item (no global default)
Hierarchical OutputSKU → Item (no global default)
Location CodeProd. Order Line → Work Center → Warehouse Employee default

Important Note on Output Licence Plate Settings​

Output Posting License Plating and Output License Plates are not part of the main production functionality described in this document.

These settings exist only to support automatic licence plate assignment for output entries where a licence plate is not already assigned or supplied.

In practical terms:

  • if the output label or transaction already provides a licence plate, these settings do not control that behaviour
  • if no licence plate is provided, these settings determine whether the system should automatically assign one during output processing
  • Output License Plates controls this at item level
  • Output Posting License Plating enables the related automatic assignment behaviour at posting time

These settings are therefore intended for licence-plate generation scenarios, not for the broader definition of the production output process itself.


Technical Reference​

This section covers technical detail relevant to developers, integration partners, and administrators troubleshooting scan data issues.

Scan Data and GS1 Identifier Handling​

The scanner may provide some or all of the following data elements from GS1-encoded labels:

Data ElementGS1 AIQueue FieldNotes
SSCC / license plate(00)License Plate No.Maps directly to the internal license plate number.
GTIN(01) or (02)Item Reference No.Resolved to an internal Item No. via the Item Reference table.
Lot number(10)Lot No.Not consistently available on all label formats.
Best before date(15)Expiration DateCaptured where provided. YYMMDD format.
GS1 serial number(21)GS1 Serial No.Used to resolve or construct the internal License Plate No.
Variable count(30)UnitsNumber of cartons or units on the pallet.
Net weight(3103)QuantityWeight with 3 implied decimal places (divide by 1000).
note

Only values encoded as GS1 AIs in the barcode data string are parsed by the scanner. Human-readable text printed on the label that is not GS1-encoded must be entered manually or the label must be updated to include the appropriate AI.

Product Identifier Resolution​

The scan may provide a product identifier as an Item No., GTIN, or other item reference. The system resolves the internal Item No. from the scanned value using:

  1. Item GTIN lookup
  2. Item Reference lookup (type = Barcode or blank)

If the product identifier cannot be resolved, the transaction is rejected.

GS1 Serial Number and License Plate Resolution​

The scan may provide either a License Plate No. or a GS1 Serial No. When only the GS1 Serial No. is provided:

  1. The system searches the license plate table using the GS1 Serial No. index.
  2. If found, the related internal License Plate No. is used.
  3. If not found, the system constructs a License Plate No. using the configured license plate prefix setup.
  4. If no valid License Plate No. can be determined, the transaction is rejected.

GS1 Serial No. is stored as a separate field on the license plate record and indexed for efficient lookup.

License Plate Construction from GS1 Serial Number​

When no existing license plate matches the scanned serial number, the system constructs one:

Rule Selection:

  1. Determine the applicable depth and location code from the transaction context.
  2. Look for a setup record matching the exact depth and exact location code.
  3. If not found, fall back to the same depth with a blank location code.
  4. If no rule is found, the transaction is rejected.

Construction Logic:

  1. Concatenate the configured Prefix with the GS1 Serial No.
  2. If the result is shorter than 17 characters, left-pad with zeroes until it reaches 17 characters.
  3. Calculate and append the GS1 check digit.
  4. The resulting 18-character value is used as the internal License Plate No.

Zero-padding is applied after prefix concatenation, not to the raw serial number alone.

Consumption Validation Rules​

Production order and line

  • Production Order No. must be present.
  • Prod. Order Line No. must be present, but is defaulted automatically when the production order has exactly one Released line. If the order has multiple lines, the line number must be supplied explicitly.

Direct consumption (no license plate)

  • Quantity must be greater than zero.
  • The item must exist in Business Central.
  • If the item requires lot tracking, a Lot No. must be provided.
  • If a Lot No. is provided, it must not be blocked and must not be expired.

License plate consumption

  • Every item in the license plate content must appear as a component on the production order.
  • For every item/lot combination, the same lot validations apply.
  • Where Item No. is supplied: the item must exist on the LP; if a partial quantity with lot tracking and multiple lots, a Lot No. must be specified; quantity must not exceed available.
  • Where no Item No. and a quantity is given: the LP must contain exactly one item+variant; lot restrictions apply; quantity must not exceed available.
  • Where no Item No. and no quantity: the entire LP content is consumed.

Consumption Reversal Validation​

  • Production Order No. is required.
  • Prod. Order Line No. is required, but is defaulted automatically when the production order has exactly one Released line.
  • At least one identifier (LP or item) must be provided.
  • A matching record must exist in the Scan Processing Queue Detail (only records posted through this process are eligible).
  • The reversal quantity must not exceed the net posted consumption quantity.

Bulk Consumption Validation​

  • License Plate No. or GS1 Serial No. is always required (no direct item entry).
  • The LP must have stock content.
  • The LP must not be fully committed in the pending queue.
  • Partial or full quantity movement is allowed.
  • The requested quantity must not exceed the available quantity on the source licence plate.
  • The work centre must have Allow Bulk Consumption enabled and a Bulk Consumption Bin Code configured.
  • The bulk consumption bin must support Strip License Plate.
  • Each item must have Bulk Consumption Method = Allow.
  • At least one Released production order component line must exist for the item at the location.

Output Validation Rules​

  • Quantity must be greater than zero.
  • Item No. and Work Center No. are required (can be resolved from the production order).
  • The license plate must not already be queued for output.
  • If the license plate exists, it must be empty.
  • Where routing exists, the work centre must be valid for the item (last routing operation check).
  • The production order must be Released and match the item.

Output Reversal Validation​

  • Quantity must be greater than zero.
  • A License Plate No. must be resolved.
  • The available quantity on the license plate must be sufficient.

Detail Record Sign Convention​

Quantity on Scan Processing Queue Detail is always stored as a positive value. The Registration Type identifies whether it represents a consumption or reversal; the sign is applied at posting time.

Registration TypeStored ValueSign at Posting
ConsumptionPositiveNegative (reduces inventory)
Consumption ReversalPositivePositive (increases inventory)

Queue Lifecycle Details​

Cancellation Reasons:

  • Replaced by New Message — a newer message for the same transaction superseded this entry.
  • Cancelled by User — an administrator cancelled the entry manually.

Job Queue Processing:

  • Picks up Pending entries in occurrence order.
  • Skips errored entries so subsequent entries are not blocked.
  • Retries 3 times; moves to Failed after exhaustion.

Dependency Handling: Where a transaction depends on an earlier unposted transaction (for example, consumption of a license plate whose output has not yet been posted), the system attempts to process that dependency during capture.

Production Order Finish Protection: A production order cannot be finished while related queue entries remain unprocessed (Pending, Processing, Failed, or Suspended).

Extension and Subscriber Rules​

This app provides the core framework. Additional business rules may be applied through subscribing extensions (for example, the Aptean Tasklet Integration app). Subscriber use cases include:

  • Inspection status validation during consumption
  • Lot number assignment during output
  • License plate assignment during output
  • Expiration date override during output
  • Additional validation or enrichment

Scanner Field Requirements​

Consumption​

FieldRequiredNotes
Production Order No.AlwaysMust be a Released production order.
Prod. Order Line No.UsuallyDefaulted when the order has exactly one Released line; required when multiple lines exist.
License Plate No. or GS1 Serial No.ConditionalEither this or Item No.
Item No. / GTIN / Item ReferenceOptionalRequired for direct consumption without LP.
Lot No.ConditionalRequired when lot-tracked and ambiguous.
QuantityConditionalRequired for direct consumption. Omit for full LP.

Consumption Reversal​

FieldRequiredNotes
Production Order No.AlwaysMust match original.
Prod. Order Line No.UsuallyDefaulted when the order has exactly one Released line; required when multiple lines exist.
License Plate No. or GS1 Serial No.ConditionalEither this or Item No.
Item No.OptionalNarrows the reversal.
Lot No.OptionalNarrows the reversal.
QuantityOptionalOmit to reverse all.

Bulk Consumption​

FieldRequiredNotes
Work Center No.AlwaysMust be enabled for bulk consumption.
License Plate No. or GS1 Serial No.AlwaysNo direct item entry.
QuantityOptionalLeave blank for full movement; provide a quantity for a partial movement.

Bulk Consumption Reversal​

FieldRequiredNotes
Work Center No.UsuallyRequired for bin context.
License Plate No. or GS1 Serial No.AlwaysIdentifies the stock.
QuantityOptionalOmit to reverse all.

Output​

FieldRequiredNotes
License Plate No. or GS1 Serial No.ConditionalOutput requires an LP.
Item No. / GTIN / Item ReferenceUsuallyCan be resolved from order.
QuantityAlwaysMust be > 0.
Work Center No.UsuallyRequired for order resolution.
Production Order No.OptionalAuto-resolved where possible.
Lot No.OptionalAuto-assigned when not supplied.

Output Reversal​

FieldRequiredNotes
License Plate No. or GS1 Serial No.AlwaysMust identify original output LP.
QuantityAlwaysMust be > 0, must not exceed LP stock.

See also​