What Are Barcode Rules?
Barcode Rules are a configuration layer in Standard Time® that sits between the scanner and the database. Every time a barcode is scanned, the Rules Engine reads the incoming value and decides two things:
- What type of record does this barcode represent? — An employee, a work order, a task, an inventory item, or something custom.
- What should Standard Time® do with it? — Start a time entry, look up a project, log a material transaction, trigger a process step, or run a custom action.
Without Barcode Rules, every project, task, and inventory item must exist in Standard Time® before a scan that references it can succeed. Barcode Rules change this: a scan that references an unknown record can automatically create that record on the fly, with pre-configured default values, so scanning never stops for missing data.
The practical result is that shops can begin scanning new work orders the moment they arrive — before anyone has opened Standard Time® to add the project. The first scan creates the project. Every subsequent scan of that barcode uses the newly created record.
How the Rules Engine Works
When a barcode is scanned, the Rules Engine processes it in this sequence:
- Read the value. The scanner sends a string of characters to Standard Time®. This is the raw scan value — for example,
WO-2024-0047orJ.MARTINEZorPN-8872-A. - Walk the rules list top to bottom. The Rules Engine compares the scan value against each rule's pattern in the order they appear in the rules list. The first rule whose pattern matches the scan value is used.
- Look up the record. Using the rule's record type and the scan value, Standard Time® searches the database for a matching record. For a Work Order rule, it searches the Projects table. For an Employee rule, it searches the Users table.
- Auto-create if missing (if enabled). If no matching record is found and the rule has auto-create turned on, Standard Time® creates a new record immediately, using the scan value as the identifier and applying any configured default values.
- Execute the action. With the record confirmed or created, Standard Time® performs the mapped action — starting a time entry, logging a material transaction, advancing a process step, and so on.
- No match found. If the scan value does not match any rule's pattern and the fallback behavior is configured to show an alert, Standard Time® displays an "Unrecognized barcode" message. If no fallback is configured, the scan is silently ignored.
The entire sequence — from scan to action — completes in under one second under normal conditions.
The Five Rule Types
Each rule is assigned one of five record types. The record type determines what Standard Time® looks up (or creates) when the pattern matches.
| Rule Type | Looks Up / Creates | Primary Action | Auto-Create Recommended |
|---|---|---|---|
| Employee | User record in the Users table | Clock in or clock out the matched employee | Use caution — see note below |
| Work Order | Project record in the Projects table | Open the project for time entry; start a time entry if employee is already clocked in | Recommended on |
| Task / Process | Task record under the current project | Log the time entry at task level; advance the routing step | Recommended on |
| Inventory / Part | Inventory item in the Parts table | Decrement quantity on hand; log material usage to the current work order | Optional — depends on inventory discipline |
| Custom | Configurable — maps to any supported record or action | Any action the system supports: QC flag, tool checkout, location update, etc. | Optional |
Employee Rules
An Employee rule matches the employee's identifier — typically their name as encoded in the badge barcode, or a numeric employee ID. When matched, Standard Time® opens the employee's time session. If the employee has an open time entry, the scan closes it (clock out). If the employee has no open entry, the next project scan they make will open one (clock in).
Employee rules are typically the first rule in the list, so that the system always knows "who is scanning" before processing any subsequent project or task scan.
Work Order Rules
A Work Order rule matches a work order or job number and maps it to a Project record. This is the most powerful rule type for reducing admin time. When a new work order arrives and no project record exists yet, auto-create builds the project record the moment the barcode is first scanned — using the job code as the project name and applying default billing type, work center, and rate from the rule's default values.
Task / Process Rules
Task rules match operation codes — WELD, ASSY, PAINT, INSPECT, or any code you assign to your manufacturing processes. When matched, Standard Time® logs the time entry at the task level within the currently active project, giving you operation-level cost breakdowns without requiring employees to navigate a menu. Process rules can also advance a work order through its routing sequence automatically.
Inventory Rules
Inventory rules match part numbers or SKUs on bin labels, component kits, or incoming material. When matched, Standard Time® decrements the quantity on hand and logs the material against the current work order. If auto-create is enabled, a new inventory item is created with a starting quantity of zero (configurable) when an unknown part number is scanned.
Custom Rules
Custom rules let you map any scan pattern to any action the system supports. Common uses include: scanning a QC barcode to record a pass/fail inspection result, scanning a tool tag to log equipment hours, scanning a location code to update a part's position in the warehouse, or triggering a notification to a supervisor when a milestone barcode is scanned.
Pattern Syntax Reference
Each rule has a match pattern — the criterion that determines whether an incoming scan value triggers this rule. Standard Time® supports four pattern types:
| Pattern Type | How It Works | Example Pattern | Matches |
|---|---|---|---|
| Prefix | The scan value must start with this string (case-insensitive) | WO- |
WO-2024-0047, WO-ABC, wo-001 |
| Suffix | The scan value must end with this string | -ASSY |
STEP3-ASSY, LINE-B-ASSY |
| Length | The scan value must be exactly N characters long | Length = 10 | Any 10-character code — useful for fixed-length employee IDs or part numbers |
| Contains | The scan value must include this substring anywhere | -INV- |
APX-INV-0012, WH-INV-RACK3 |
| Exact match | The scan value must equal this string exactly | STOP |
Only the literal value STOP |
| Regular expression | Full regex pattern match for advanced rules | ^[0-9]{6}$ |
Any exactly 6-digit numeric code |
W would match work orders, employee names starting with W, and any other code beginning with W. Use the most specific prefix your shop's numbering system allows — WO-, MO-, JOB- — so rules don't accidentally match the wrong scan type.
Pattern Precedence
If two rules could both match the same scan value (for example, a prefix rule for WO- and a regex rule that also matches work order codes), the rule that appears higher in the rules list wins. Arrange more specific rules above more general ones.
Auto-Create Behavior
When auto-create is enabled on a rule and no matching record is found, Standard Time® creates a new record using the scan value as the primary identifier. The behavior differs by rule type:
| Rule Type | New Record Created | Identifier Used | Fields Pre-filled From |
|---|---|---|---|
| Work Order | New Project | Scan value becomes the Project Code and Name | Rule's default values (billing type, work center, rate, manager) |
| Task / Process | New Task under the active Project | Scan value becomes the Task Code and Name | Rule's defaults; inherits parent project's billing type |
| Inventory | New Inventory Item | Scan value becomes the Part Number | Rule defaults; starting quantity set to 0 (configurable) |
| Employee | New User Record | Scan value becomes the Username | Rule defaults; status set to Active, admin rights off |
| Custom | Configurable per rule | Configurable per rule | Configurable per rule |
Auto-created records are real database records — they persist after the scan session and can be viewed, edited, and reported on immediately. A project auto-created by a scan appears in the Projects list and in all reports the same as a project entered manually through the Project Assistant.
Editing Auto-Created Records
Auto-created records typically have minimal information — just the code and whatever defaults the rule supplied. After a work order is created by scan, a manager can open the project record and add the customer name, estimated hours, due date, and billing rules at any time. The time entries already logged against the auto-created project remain associated with it through any edits.
Default Values for New Records
Each rule can specify default field values that are applied to any record it auto-creates. Defaults ensure new records are immediately useful in reports rather than sitting as blank entries that need to be filled in later.
Recommended defaults to configure for a Work Order rule:
| Field | Recommended Default | Why |
|---|---|---|
| Billing Type | Time & Materials (or your shop's most common type) | Ensures time is immediately billable; wrong type can be corrected later |
| Status | Active | The project must be Active to accept time entries |
| Work Center | Your primary work center (e.g., "Assembly") | Keeps the project visible in the right department's reports |
| Standard Rate | Your shop's base labor rate (e.g., $65/hr) | Every scanned hour is immediately priced, even before a manager reviews the record |
| Project Manager | The default supervisor for this work center | Routes alert emails to the right person when the budget threshold is hit |
Rule Priority and Ordering
Rules are evaluated in the order they appear in the Barcode Rules list. The first rule whose pattern matches the incoming scan value wins; no further rules are checked. This means rule order matters significantly.
Recommended Rule Order
- Employee rule — Must come first so the system always knows who is scanning before it processes any subsequent work order or task scan.
- Specific work order prefixes — List more specific prefixes before general ones.
WO-RUSH-beforeWO-, for example. - Task / process codes — These are often short fixed-length codes (WELD, ASSY, PAINT) that would not conflict with work order patterns, so their position is flexible.
- Inventory / part numbers — Part number patterns (e.g.,
PN-) are typically distinct enough to sit below work order rules without conflicts. - Custom rules — Specific custom rules (exact-match STOP, COMPLETE, HOLD) can sit anywhere safe; catch-all custom rules should be last.
- Fallback / catch-all — An optional final rule with a "match everything" pattern that logs unrecognized scans to a review queue rather than silently discarding them.
Configuring Barcode Rules
Barcode Rules are configured at Tools → Barcode Rules in the Standard Time® menu (the exact path may vary slightly by version). The configuration screen shows a list of all existing rules and a form for creating new ones.
Creating a New Rule
- Click Add Rule (or the + button) in the Barcode Rules panel.
- Enter a Rule Name — a human-readable label for your own reference (e.g., "Work Orders — WO prefix").
- Choose the Pattern Type (Prefix, Suffix, Contains, Length, Exact, Regex) and enter the pattern value.
- Set the Record Type — Employee, Work Order, Task, Inventory, or Custom.
- Check or uncheck Auto-Create based on whether you want missing records created on the fly.
- Fill in Default Values for any fields you want pre-populated on auto-created records.
- Click Save. The rule is immediately active — no restart required.
Reordering Rules
Most versions of Standard Time® allow rules to be dragged and dropped into the desired order in the Barcode Rules list. If drag-and-drop is not available, delete and re-create rules in the correct order, or look for up/down arrow buttons on each row.
Disabling Without Deleting
Rules can typically be toggled inactive without deleting them — useful for seasonal rules (a specific holiday work order prefix, a temporary QC process code) that you want to re-enable later. Look for an Active checkbox or toggle on each rule row.
Troubleshooting
| Symptom | Likely Cause | Fix |
|---|---|---|
| Scan produces "Unrecognized barcode" error | No rule pattern matches the scan value | Check the rules list. Verify the pattern matches the exact format of the barcode. Check case sensitivity settings. |
| Scan triggers the wrong rule type | A higher-priority rule's pattern inadvertently matches the value | Reorder rules so more specific patterns come before general ones. Make the conflicting pattern more specific. |
| Auto-create is on but no record is created | The rule matched but a required default value is missing (e.g., billing type not set) | Open the rule's default values section and fill in all required fields for the record type. |
| Phantom user records appearing | Employee auto-create is enabled and a misread label or dirty barcode triggered a false scan | Disable auto-create on the Employee rule. Delete phantom records from the Users panel. |
| Time entries logged to the wrong project | Two projects have similar barcode values and the wrong one matched first | Check for duplicate or overlapping project codes. Rename one project code to be distinct. Scan the label on a known device and check the scan log to see which record was matched. |
| Rule fires correctly in testing but not in production | Different device or scanner firmware encoding the barcode differently (with/without check digit, extra characters, different character set) | Print the raw scan value to a text field on a test page to see exactly what the scanner is sending. Adjust the pattern to match the raw output. |
The Scan Log
Standard Time® maintains a scan log that records every incoming barcode value, the rule that matched it (if any), and the action taken. When troubleshooting unexpected behavior, the scan log is the first place to look — it shows exactly what the scanner sent and exactly what the system did with it, removing all guesswork from the diagnosis.
Access the scan log at Tools → Scan Log or the equivalent menu location in your version.