Chapter 18: 20 Real-World Workflow Examples
Chapter Purpose: This chapter provides 20 complete, production-ready workflow implementations spanning multiple Business Central modules. Each example includes business context, measurable benefits, complete configuration steps, testing procedures, and troubleshooting guidance.
How to Use This Chapter:
Review examples relevant to your industry and processes
Adapt configurations to your specific business requirements
Use examples as templates for custom workflows
Reference variations section for common modifications
Follow testing procedures before production deployment
Example Categories:
Master Data Management: Examples 1, 5, 6 (Vendor, Customer, Employee onboarding)
Inventory & Logistics: Examples 2, 4, 7 (Stock alerts, lot expiration, shipment prep)
Credit & Financial Control: Examples 3, 12, 14, 20 (Credit limits, approvals, payment control)
Sales & Customer Service: Examples 8, 9, 10, 19 (Complaints, field changes, delivery alerts, sales approvals)
Recurring Processes: Examples 11, 18 (Monthly customer contact, inactive customer review)
Production & Quality: Example 13 (Product approval process)
International Trade: Example 15 (Import documentation workflow)
Period-End Processes: Examples 16, 17 (Month-end close, posting validation)
Example 1: New Vendor Onboarding Workflow
Business Scenario:
When the accounting department creates a new vendor record in Business Central, a comprehensive 6-task onboarding workflow automatically initiates to ensure complete vendor setup, regulatory compliance, and financial control before the vendor can be used for purchasing operations.
This workflow addresses the critical business need for standardized vendor master data management, combining data validation, document management, compliance verification, and multi-level approval in a single automated process.
Real-World Context:
Mid-sized manufacturing company processes 150+ new vendor setups annually. Prior to QUALIA Workflow implementation:
Average setup time: 5-7 business days
First payment processing frequently delayed (35% of new vendors)
Tax documentation incomplete (40% missing W-9/W-8 forms)
Posting group errors caused month-end rework (12 hours/month)
No audit trail of vendor approval decisions
Contract documents stored inconsistently (filing cabinet + email + shared drive)
Business Challenges:
Incomplete Data Entry: Accounting clerks often skip optional fields, causing downstream issues:
Missing phone numbers delay purchase order confirmations
Blank email addresses prevent automated remittance advice
Incomplete addresses cause check mailing returns
Financial Reporting Errors: Incorrect posting group assignments result in:
Misclassified expenses in P&L statements
GL reconciliation discrepancies
Incorrect tax reporting (IRS Form 1099 errors)
Audit findings and rework
Compliance Risks: Missing tax documentation creates:
IRS backup withholding requirements (28% mandatory withholding)
Year-end 1099 filing delays and penalties
Increased risk during IRS audits
Payment Processing Delays: Incomplete vendor setup causes:
Manual intervention required for first payment
AP clerk time wasted investigating missing information
Vendor relationship damage from payment delays
Lost early payment discounts
Security and Control Gaps: No formal approval process leads to:
Duplicate vendor records created
Fraudulent vendor setup (accounts payable fraud risk)
No segregation of duties between setup and approval
Missing contract documentation for disputes
Measurable Business Value After Implementation:
Setup Time: Reduced from 5-7 days to 36 hours (75% improvement)
Data Quality: Vendor record completeness increased from 62% to 98%
Error Rate: Posting group errors decreased from 15% to 1% (93% reduction)
Compliance: 100% tax form documentation (up from 60%)
First Payment Success: 98% successful first payment (up from 65%)
Audit Findings: Zero vendor setup audit findings (previously 8-12 per year)
Fraud Prevention: Segregation of duties reduces fraud risk by 80%
Time Savings: AP department saves 16 hours/month on vendor setup rework
Financial Impact: Eliminated $25,000/year in IRS penalties and backup withholding
Workflow Configuration
Workflow Setup Table (QUA Workflow Setup - Table 72777600):
Field | Value | Notes |
|---|---|---|
No. | VENDOR-ONBOARD | Auto-generated from number series |
Description | New Vendor Onboarding Process | Appears in all workflow lists |
Table No. | 23 (Vendor) | Standard BC Vendor table |
Start Date | 01/06/2025 | Go-live date or today |
End Date | blank | No expiration - continuous use |
Enabled | ☑ Yes | Master enable switch |
Recurring Frequency | blank | Not applicable for onboarding |
Setup Navigation:
Trigger Configuration
Initiated By Table (QUA Initiated By - Table 72777602):
The workflow triggers automatically when a new vendor record is created (OnInsert event).
Configuration:
Field | Value | Technical Details |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to workflow setup |
Line No. | 10000 | Standard first line |
Rule | VENDOR-ONBOARD | Auto-creates QUA_Validations record |
Rule Line No. | 0 | Trigger validation (not condition) |
Description | Trigger on new vendor creation | For documentation |
Auto-Created Validation Set:
When you create the Workflow Setup, QUALIA automatically creates:
Validation Set ID: VENDOR-ONBOARD
Description: New Vendor Onboarding Process
Table No.: 23 (Vendor)
Auto-Created Validation Rule (in QUA_Validations):
Validation Set ID: VENDOR-ONBOARD
Line No.: 0 (trigger line)
Trigger String:
[23:0]Trigger Type: OnInsert
Action Code: CREATEWORKFLOW
Enabled: Yes (when workflow enabled)
Trigger Logic Explanation:
The [23:0] trigger string with OnInsert means:
23: Vendor table ID
0: Field ID 0 = Primary Key (No. field)
OnInsert: Event fires when new vendor record created
No Scenario/Conditions needed - ALL new vendors trigger workflow
Why OnInsert and Not OnModify:
OnInsert fires exactly once per vendor (when No. field first populated)
OnModify would fire repeatedly as vendor data changes
Prevents duplicate workflow creation for same vendor
Ensures workflow starts at beginning of vendor lifecycle
Task 1: Complete Contact Information
Business Purpose:
Ensure the data entry clerk (typically accounting secretary) completes all mandatory vendor contact fields before the record can progress through financial approval. This task prevents downstream payment processing issues caused by missing communication channels and ensures vendor can be contacted for purchase order confirmations, invoice questions, and payment notifications.
Role Responsibility: Data Entry / Accounting Secretary
Task Configuration (QUA Workflow Task - Table 72777601):
Field | Value | Technical Notes |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to parent workflow |
Code | CONTACT-INFO | Unique task identifier (max 20 char) |
Description | Complete contact information for vendor [23:2] | [23:2] = placeholder for Vendor Name field |
Status | Released | Starts immediately when workflow created |
Assigned to | ACCT-CLERK | User ID of data entry person |
Assigned to Team | blank | Individual assignment (not team) |
Due Date | +1D | Formula: Today + 1 Day |
Critical Date | +1D | Same as Due Date (high priority) |
Activity Type | Manual | User enters data, task auto-completes |
Template Code | blank | Not used (no CRM interaction) |
Contact No. | blank | Not used (no CRM interaction) |
Rule | VENDOR-ONBOARD | Links to validation rules |
Rule Line No. | 0 | Links to parent validation set |
Setup Navigation:
Placeholder Resolution Example:
When workflow creates entry for vendor "ACME Industrial Supplies", the description becomes:
This dynamic description provides context to the user without requiring them to look up the vendor number.
Task 1: Status Rule - Auto-Completion Logic
Status Rule Configuration (QUA Status - Table 72777603):
This rule automatically completes the task when all required contact fields contain data, eliminating manual task completion and ensuring data quality before progression.
Line 10000: Completion Condition
Field | Value | Purpose |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to workflow |
Task Code | CONTACT-INFO | Links to task |
Line No. | 10000 | Standard completion line number |
Description | Auto-complete when contact fields populated | Documentation |
Field No. | 6 | Status field in WorkFlow Entries table |
Value | Completed | Target status when conditions met |
Rule | VENDOR-ONBOARD | Links to validation rule |
Rule Line No. | 10000 | Links to condition logic |
Auto-Created Validation Rule (QUA_Validations):
When you create the Status Rule, QUALIA automatically creates a validation with this structure:
Validation Set ID: VENDOR-ONBOARD-CONTACT-INFO
Line No.: 10000
Trigger String: [72777606:0] (WorkFlow Entries table, OnModify)
Trigger Type: OnModify=After
Action Code: UPDATEFIELD
Scenario Configuration (Ensures correct workflow entry):
Scenario Field | Value | Purpose |
|---|---|---|
Table ID | 72777606 | WorkFlow Entries table |
Field No. | 3 | Workflow No. field |
Filter String | VENDOR-ONBOARD | Only this workflow |
AND | ||
Field No. | 4 | Workflow Step Code field |
Filter String | CONTACT-INFO | Only this task |
AND | ||
Field No. | 14 | Source Primary Key Value field |
Filter String | [23:1] | Current vendor's No. |
The scenario filtering ensures the validation only checks the specific workflow entry for this vendor's onboarding task, not other vendors' entries.
Conditions Configuration (Data Quality Checks):
All conditions must evaluate to TRUE for the rule to fire (AND logic):
Condition 1 - Email Address Required:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 102 (E-Mail) |
Filter String |
|
Explanation: Filter <>'' means "not equal to empty string" - field must contain data.
Condition 2 - Phone Number Required:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 9 (Phone No.) |
Filter String |
|
Condition 3 - Street Address Required:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 5 (Address) |
Filter String |
|
Condition 4 - City Required:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 7 (City) |
Filter String |
|
Condition 5 - Contact Name Required:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 8 (Contact) |
Filter String |
|
Condition 6 - Country/Region Code Required:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 90 (Country/Region Code) |
Filter String |
|
This ensures proper address formatting for international vendors.
Condition 7 - Post Code Required:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 91 (Post Code) |
Filter String |
|
Required for check printing and shipping documentation.
How Auto-Completion Works:
User Action: Accounting clerk opens vendor card and fills contact fields
Trigger Event: Each field update fires OnModify event on Vendor table
Validation Check: Rule Engine evaluates all 7 conditions
Status Update: When all conditions TRUE, Status field in WorkFlow Entry changes from "Released" to "Completed"
User Feedback: Task disappears from user's "My Tasks" list
Next Task: Task 2 (Tax Information) automatically releases via its Line 9999 rule
User Experience:
The clerk doesn't click any "Complete Task" button. As soon as they fill the last required field and tab out, the task automatically completes. This provides immediate feedback and eliminates the manual step of updating workflow status.
Task 2: Verify Tax Documentation
Business Purpose:
Ensure accounting staff collects and attaches the appropriate IRS tax documentation (W-9 for US vendors, W-8 for foreign vendors) before the vendor is approved for payment processing. This task prevents IRS backup withholding requirements (28% mandatory withholding on payments when tax documentation is missing) and ensures year-end 1099 reporting compliance.
Regulatory Context:
IRS Requirement: US tax law requires Form W-9 (Taxpayer ID) for all domestic vendors receiving $600+ annually
Foreign Vendors: Form W-8BEN or W-8BEN-E required to claim tax treaty benefits
Penalty for Non-Compliance: 28% backup withholding on all payments + IRS penalties up to $50-$270 per missing form
Audit Risk: Missing tax forms are #1 finding in IRS payables audits
Role Responsibility: Accounts Payable Clerk / Tax Compliance Specialist
Task Configuration (QUA Workflow Task):
Field | Value | Technical Notes |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to parent workflow |
Code | TAX-DOCS | Unique task identifier |
Description | Collect and attach tax documentation (W-9/W-8) for [23:2] | Dynamic vendor name |
Status | Open | Waits for Task 1 completion |
Assigned to | AP-CLERK | Accounts Payable specialist |
Assigned to Team | blank | Individual assignment |
Due Date | +2D | Today + 2 Days |
Critical Date | +3D | One day grace period |
Activity Type | Manual | User attaches document |
Template Code | blank | N/A |
Contact No. | blank | N/A |
Rule | VENDOR-ONBOARD | Links to validation |
Rule Line No. | 0 | Parent validation set |
Task 2: Status Rule - Release Condition (Line 9999)
Purpose: Task 2 only releases (becomes visible to users) after Task 1 (Contact Information) is completed. This ensures sequential processing and prevents users from skipping required steps.
Status Rule Configuration:
Field | Value | Purpose |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to workflow |
Task Code | TAX-DOCS | Links to this task |
Line No. | 9999 | Standard release line number |
Description | Release when contact information complete | Documentation |
Field No. | 6 | Status field in WorkFlow Entries |
Value | Released | Changes status from Open to Released |
Rule | VENDOR-ONBOARD | Links to validation |
Rule Line No. | 9999 | Release validation |
Auto-Created Validation Rule:
Validation Set ID: VENDOR-ONBOARD-TAX-DOCS
Line No.: 9999
Trigger String: [72777606:6] (WorkFlow Entries table, Status field, OnModify)
Action Code: UPDATEFIELD
Scenario Configuration (Find this specific task entry):
Scenario Field | Value | Purpose |
|---|---|---|
Table ID | 72777606 | WorkFlow Entries table |
Field No. | 3 | Workflow No. field |
Filter String | VENDOR-ONBOARD | This workflow only |
AND | ||
Field No. | 4 | Workflow Step Code field |
Filter String | TAX-DOCS | This task only |
AND | ||
Field No. | 14 | Source Primary Key Value |
Filter String | [23:1] | This vendor only |
Condition Configuration (Check previous task status):
The validation checks another WorkFlow Entry (Task 1) to verify it's completed:
Condition Field | Value | Purpose |
|---|---|---|
Table ID | 72777606 | WorkFlow Entries (same table) |
Field No. | 3 | Workflow No. |
Filter String | VENDOR-ONBOARD | Filter to this workflow |
AND | ||
Field No. | 4 | Workflow Step Code |
Filter String | CONTACT-INFO | The previous task |
AND | ||
Field No. | 14 | Source Primary Key Value |
Filter String | [23:1] | Same vendor |
AND | ||
Field No. | 6 | Status field |
Filter String | Completed | Must be completed |
How Release Logic Works:
Initial State: When workflow created, Task 2 Status = "Open" (invisible to users)
Task 1 Completes: User fills contact fields, Task 1 auto-completes
Trigger Event: Task 1 Status change fires validation on all workflow entries
Validation Check: Rule Engine finds Task 2 entry, checks if Task 1 is Completed
Status Update: Task 2 Status changes from "Open" to "Released"
User Visibility: Task 2 now appears in AP-CLERK's "My Tasks" list
Email Notification (if configured): AP-CLERK receives "New Task Assigned" email
Task 2: Status Rule - Completion Logic (Line 10000)
Purpose: Task 2 requires manual completion because there's no automated way to verify tax document validity. The user must review the attached document and explicitly confirm it's correct before the task completes.
Status Rule Configuration:
Field | Value | Purpose |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to workflow |
Task Code | TAX-DOCS | Links to this task |
Line No. | 10000 | Standard completion line |
Description | Manual completion after document verification | Documentation |
Field No. | blank | No field update |
Value | blank | No value |
Rule | blank | No validation rule |
Rule Line No. | 0 | No rule line |
Important: When Line 10000 has blank Rule and Rule Line No., it means manual completion only - user must click the "Process" action button.
User Process for Manual Completion:
Receive Task Assignment: AP Clerk sees task in "My Tasks" list
Request Tax Form: Email vendor requesting W-9 or W-8 form
Receive Form: Vendor returns completed PDF via email or fax
Review Form: Verify:
Correct legal business name matches vendor name
Tax ID number provided (EIN or SSN)
Form signed and dated
W-8: Treaty country and benefit claim appropriate
Attach Document:
Open Vendor Card for this vendor
Action → Attach → Select Document
Choose W-9 or W-8 PDF file
System creates document attachment record
Complete Task:
Navigate to QUA WorkFlow Entries
Filter to Workflow No. = VENDOR-ONBOARD
Locate TAX-DOCS task entry
Verify Status = Released
Action → Process
System changes Status to Completed
Timestamp Recorded: "Completed at" field shows date/time and user
Why Manual Completion is Required:
Document Content Validation: System cannot read PDF content to verify tax ID accuracy
Regulatory Judgment: Requires human review of signature validity and completeness
Exception Handling: Some vendors require exemption documentation (government, nonprofits)
Foreign Vendor Complexity: Multiple W-8 form types depending on entity type and treaty claims
BC Consultant Best Practice - Document Attachment:
Business Central's document attachment feature (Table 1173 "Document Attachment") provides:
Audit Trail: Who attached, when attached, file name
Version Control: Multiple documents can be attached (original + updated forms)
Access Control: Permissions control who can view/attach documents
Integration: Attachments sync to vendor card and visible in workflow
Storage: Files stored in BC database or Azure Blob Storage (depending on BC version)
Recommended Document Naming Convention:
This naming ensures easy identification during audits and year-end 1099 processing.
Task 3: Assign Posting Groups
Business Purpose:
Finance controller assigns the correct posting groups to ensure vendor transactions post to the appropriate General Ledger accounts. This task is critical for financial reporting accuracy, tax compliance, and month-end closing processes.
Financial Impact of Incorrect Posting Groups:
P&L Misstatement: Expenses classified to wrong GL accounts distort departmental budgets
Tax Errors: Incorrect VAT/Sales Tax posting groups cause sales tax return errors and penalties
Audit Findings: Misclassified transactions discovered during year-end audit require reclassification journal entries
Consolidation Issues: Multi-company environments require consistent posting group usage across entities
Role Responsibility: Finance Controller / Accounting Manager
Task Configuration (QUA Workflow Task):
Field | Value | Technical Notes |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to parent workflow |
Code | POSTING-GROUPS | Unique task identifier |
Description | Assign posting groups for [23:2] - Vendor Type: [23:7700] | Shows vendor name and payment type |
Status | Open | Waits for Task 2 completion |
Assigned to | FIN-CONTROLLER | Finance manager role |
Assigned to Team | blank | Individual assignment for accountability |
Due Date | +3D | Today + 3 Days |
Critical Date | +4D | Must complete before payment processing |
Activity Type | Manual | User selects from dropdowns |
Template Code | blank | N/A |
Contact No. | blank | N/A |
Rule | VENDOR-ONBOARD | Links to validation |
Rule Line No. | 0 | Parent validation set |
Note on Description Placeholders:
[23:2]= Vendor Name (e.g., "ACME Industrial")[23:7700]= Payment Method Code (e.g., "CHECK", "ACH", "WIRE")
Example resolved description:
Task 3: Status Rule - Release Condition (Line 9999)
Status Rule Configuration:
Field | Value | Purpose |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to workflow |
Task Code | POSTING-GROUPS | Links to this task |
Line No. | 9999 | Standard release line |
Description | Release when tax documentation complete | Documentation |
Field No. | 6 | Status field in WorkFlow Entries |
Value | Released | Target status |
Rule | VENDOR-ONBOARD | Links to validation |
Rule Line No. | 9999 | Release validation |
Validation Condition (Check Task 2 completed):
Condition Field | Value | Purpose |
|---|---|---|
Table ID | 72777606 | WorkFlow Entries |
Field No. | 3 | Workflow No. |
Filter String | VENDOR-ONBOARD | This workflow |
AND | ||
Field No. | 4 | Workflow Step Code |
Filter String | TAX-DOCS | Previous task |
AND | ||
Field No. | 14 | Source Primary Key Value |
Filter String | [23:1] | This vendor |
AND | ||
Field No. | 6 | Status |
Filter String | Completed | Must be completed |
Task 3: Status Rule - Auto-Completion Logic (Line 10000)
Purpose: Task automatically completes when finance controller assigns all three required posting groups. This provides immediate feedback and ensures data quality before workflow progresses.
Status Rule Configuration:
Field | Value | Purpose |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to workflow |
Task Code | POSTING-GROUPS | Links to this task |
Line No. | 10000 | Standard completion line |
Description | Auto-complete when all posting groups assigned | Documentation |
Field No. | 6 | Status field in WorkFlow Entries |
Value | Completed | Target status |
Rule | VENDOR-ONBOARD | Links to validation |
Rule Line No. | 10000 | Completion validation |
Auto-Created Validation Rule:
Validation Set ID: VENDOR-ONBOARD-POSTING-GROUPS
Line No.: 10000
Trigger String: [23:21]|[23:88]|[23:5950] (Triggers on any posting group field change)
Action Code: UPDATEFIELD
Scenario Configuration (Ensure correct vendor):
Scenario Field | Value | Purpose |
|---|---|---|
Table ID | 23 | Vendor table |
Field No. | 1 | No. field |
Filter String | [23:1] | Current vendor only |
Conditions Configuration (All posting groups required):
Condition 1 - Vendor Posting Group Assigned:
Field | Value | Business Impact |
|---|---|---|
Table ID | 23 (Vendor) | |
Field No. | 21 (Vendor Posting Group) | Controls which GL accounts payables post to |
Filter String |
| Must not be empty |
Vendor Posting Group Purpose:
Links to Vendor Posting Groups setup table
Determines GL Account assignments:
Payables Account (e.g., 2000 - Accounts Payable)
Payment Discount Debit Acc.
Invoice Rounding Account
Debit/Credit Rounding Accounts
Example values: DOMESTIC, FOREIGN, INTERCOMPANY
Condition 2 - Gen. Bus. Posting Group Assigned:
Field | Value | Business Impact |
|---|---|---|
Table ID | 23 (Vendor) | |
Field No. | 88 (Gen. Bus. Posting Group) | Determines expense classification in P&L |
Filter String |
| Must not be empty |
Gen. Bus. Posting Group Purpose:
Combines with Gen. Prod. Posting Group (from items/GL accounts) in posting matrix
Controls which expense GL accounts are used
Example values: DOMESTIC, EU, EXPORT, INTERCOMPANY
Matrix Example:
Condition 3 - VAT Bus. Posting Group Assigned:
Field | Value | Business Impact |
|---|---|---|
Table ID | 23 (Vendor) | |
Field No. | 5950 (VAT Bus. Posting Group) | Controls sales tax / VAT calculation |
Filter String |
| Must not be empty |
VAT Bus. Posting Group Purpose:
Determines tax treatment for purchases from this vendor
Combines with VAT Prod. Posting Group (from items/services) in VAT matrix
Example values: DOMESTIC, EU, EXPORT, NONTAXABLE
Matrix Example:
How Auto-Completion Works:
User Action: Finance controller opens vendor card
Field Assignment: Assigns Vendor Posting Group = "DOMESTIC"
Trigger Event: OnValidate event fires, Rule Engine evaluates conditions
Partial Match: Only 1 of 3 conditions met - task remains Released
Continued Assignment: Controller assigns Gen. Bus. Posting Group = "DOMESTIC"
Still Incomplete: 2 of 3 conditions met - task still Released
Final Assignment: Controller assigns VAT Bus. Posting Group = "DOMESTIC"
All Conditions Met: All 3 conditions now TRUE
Status Update: Task Status automatically changes to "Completed"
Next Task Releases: Task 4 (Payment Terms) automatically releases
BC Consultant Best Practices - Posting Group Selection
1. Vendor Posting Group Selection Criteria:
Vendor Type | Recommended Posting Group | GL Account Structure |
|---|---|---|
Domestic Suppliers | DOMESTIC | 2000 - Accounts Payable |
Foreign Suppliers (Import) | FOREIGN | 2100 - AP - Foreign Currency |
Intercompany Vendors | INTERCOMPANY | 2900 - Intercompany Payables |
One-Time/Misc. Vendors | ONETIME | 2050 - AP - Miscellaneous |
Employee Reimbursements | EMPLOYEE | 2200 - Employee Reimbursements |
Setup Navigation: Search → Vendor Posting Groups
2. Gen. Bus. Posting Group Selection Criteria:
Vendor Location | Trade Agreement | Recommended Group | Tax Impact |
|---|---|---|---|
Same Country | N/A | DOMESTIC | Standard tax treatment |
EU Member State | EU VAT Registration | EU | Reverse charge VAT |
Outside EU/US | International | EXPORT | No VAT (may have import duty) |
Intercompany | Same parent company | INTERCOMPANY | Elimination entries required |
Setup Navigation: Search → General Posting Setup
3. VAT Bus. Posting Group Selection Criteria:
Scenario | Vendor VAT Status | Recommended Group | Calculation |
|---|---|---|---|
Domestic Purchase | VAT Registered | DOMESTIC | Standard VAT rate (e.g., 20%) |
EU Purchase - Goods | VAT Registered (validated) | EU | Reverse Charge (0% + Use Tax) |
EU Purchase - Services | VAT Registered | EU | Reverse Charge |
Non-EU Import | N/A | EXPORT | 0% VAT (customs may apply VAT on entry) |
Exempt Purchase | Nonprofit/Government | NONTAXABLE | 0% VAT (non-recoverable) |
Setup Navigation: Search → VAT Posting Setup
4. Common Posting Group Errors and Consequences:
Error | Consequence | Detection | Correction Effort |
|---|---|---|---|
Wrong Vendor Posting Group | Payables in wrong GL account | Month-end reconciliation fails | Reclassification journal entry |
Wrong Gen. Bus. Posting Group | Expenses misclassified in P&L | Budget variance analysis / Audit | Reclassify + restate reports |
Wrong VAT Posting Group | Incorrect VAT return | VAT reconciliation / tax authority notice | Amended VAT return + penalties |
Missing Posting Groups | Posting blocked at invoice entry | User immediate error | Cannot post until fixed |
5. Multi-Currency Vendor Considerations:
For foreign currency vendors, posting group selection affects currency handling:
The FOREIGN posting group typically links to Currency Unrealized Gains/Losses accounts.
6. Year-End Considerations:
Posting groups affect year-end processes:
1099 Reporting: IRS 1099-MISC requires specific GL account tracking
Recommendation: Use Gen. Bus. Posting Group + dimension for 1099 box classification
Certain posting groups (EMPLOYEE) may need 1099-NEC instead of 1099-MISC
Intercompany Elimination: INTERCOMPANY posting group facilitates consolidation
Creates elimination entries automatically
Matches AR in Company A with AP in Company B
Tax Deduction Categories: VAT Posting Groups track:
Fully deductible VAT (business purchases)
Partially deductible VAT (mixed-use assets)
Non-deductible VAT (entertainment, cars)
Task 4: Configure Payment Terms and Methods
Business Purpose:
Purchasing manager establishes payment terms (e.g., Net 30, Net 60, 2/10 Net 30) and payment methods (Check, ACH, Wire Transfer) based on negotiated vendor agreements. This task ensures proper cash flow management, enables early payment discount tracking, and establishes the payment processing workflow.
Financial Impact:
Cash Flow Management: Payment terms directly affect cash flow forecasting
Discount Capture: Early payment terms (2/10 Net 30) can save 2% on all purchases
Example: $500,000 annual spend × 2% discount = $10,000 annual savings
Payment Processing Efficiency: Correct payment method reduces manual check cutting
Bank Relationship: Wire transfer and ACH require pre-authorized banking relationships
Role Responsibility: Purchasing Manager / Procurement Lead
Task Configuration (QUA Workflow Task):
Field | Value | Technical Notes |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to parent workflow |
Code | PAYMENT-TERMS | Unique task identifier |
Description | Configure payment terms and method for [23:2] | Dynamic vendor name |
Status | Open | Waits for Task 3 completion |
Assigned to | PURCHASE-MGR | Purchasing manager role |
Assigned to Team | blank | Individual assignment |
Due Date | +4D | Today + 4 Days |
Critical Date | +5D | Payment processing deadline |
Activity Type | Manual | User selects from dropdowns |
Template Code | blank | N/A |
Contact No. | blank | N/A |
Rule | VENDOR-ONBOARD | Links to validation |
Rule Line No. | 0 | Parent validation set |
Task 4: Status Rules
Release Condition (Line 9999):
Field | Value |
|---|---|
Workflow No. | VENDOR-ONBOARD |
Task Code | PAYMENT-TERMS |
Line No. | 9999 |
Description | Release when posting groups assigned |
Field No. | 6 (Status) |
Value | Released |
Rule | VENDOR-ONBOARD |
Rule Line No. | 9999 |
Validation Condition: Check Task 3 (POSTING-GROUPS) Status = Completed
Auto-Completion Logic (Line 10000):
Field | Value |
|---|---|
Workflow No. | VENDOR-ONBOARD |
Task Code | PAYMENT-TERMS |
Line No. | 10000 |
Description | Auto-complete when payment terms and method configured |
Field No. | 6 (Status) |
Value | Completed |
Rule | VENDOR-ONBOARD |
Rule Line No. | 10000 |
Validation Conditions (All must be TRUE):
Condition 1 - Payment Terms Assigned:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 27 (Payment Terms Code) |
Filter String |
|
Condition 2 - Payment Method Assigned:
Field | Value |
|---|---|
Table ID | 23 (Vendor) |
Field No. | 7700 (Payment Method Code) |
Filter String |
|
BC Consultant Guidance - Payment Terms Selection:
Payment Terms Code | Description | Discount | Use Case |
|---|---|---|---|
NET30 | Net 30 Days | None | Standard payment terms |
NET60 | Net 60 Days | None | Extended terms for key suppliers |
2/10NET30 | 2% 10 Days, Net 30 | 2% if paid within 10 days | Take advantage of discounts |
1/15NET45 | 1% 15 Days, Net 45 | 1% if paid within 15 days | Moderate discount option |
COD | Cash on Delivery | None | New/untrusted vendors |
CIA | Cash in Advance | None | High-risk purchases |
EOM | End of Month | None | Consolidate monthly payments |
15DOM | 15th Day of Month | None | Fixed monthly payment date |
Payment Method Code Selection:
Payment Method | Transaction Fee | Processing Time | Security | Use Case |
|---|---|---|---|---|
CHECK | Minimal (paper cost) | 5-7 days mail | Medium | Small amounts, domestic |
ACH | $0.20-$1.00 per transaction | 2-3 business days | High | Recurring payments, domestic |
WIRE | $15-$45 per transaction | Same day | Highest | Large amounts, urgent, international |
EFT | $0.50-$2.00 per transaction | 1-2 business days | High | Canadian vendors |
CARD | 2-3% of amount | Immediate | High | Small purchases, online vendors |
Task 5: Attach Vendor Contract and W-9
Business Purpose:
Purchasing assistant attaches the signed vendor contract/agreement and the completed W-9 form to the vendor record. This creates a centralized document repository, ensures contract terms are readily accessible during purchasing, and maintains audit trail for compliance reviews.
Document Management Benefits:
Single Source of Truth: All vendor documents in BC (not scattered across email, shared drives, filing cabinets)
Audit Trail: Who attached, when attached, document version history
Quick Access: Purchasing staff can review contract terms during PO creation
Compliance Ready: Documents immediately available for internal/external audits
Disaster Recovery: Documents backed up with BC database
Role Responsibility: Purchasing Assistant / AP Clerk
Task Configuration (QUA Workflow Task):
Field | Value | Technical Notes |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to parent workflow |
Code | ATTACH-DOCS | Unique task identifier |
Description | Attach vendor contract and W-9 for [23:2] | Dynamic vendor name |
Status | Open | Waits for Task 4 completion |
Assigned to | PURCHASE-ASST | Purchasing assistant role |
Assigned to Team | blank | Individual assignment |
Due Date | +5D | Today + 5 Days |
Critical Date | +6D | Document deadline |
Activity Type | Manual | User attaches documents |
Template Code | blank | N/A |
Contact No. | blank | N/A |
Rule | VENDOR-ONBOARD | Links to validation |
Rule Line No. | 0 | Parent validation set |
Task 5: Status Rules
Release Condition (Line 9999):
Releases when Task 4 (PAYMENT-TERMS) Status = Completed
Completion Logic (Line 10000):
Manual Completion Only (No validation rule) - User clicks Process after attaching documents.
Why Manual Completion:
BC cannot automatically verify document content/validity
Requires human verification that correct documents attached
Contract review may identify issues requiring correction
Some vendors may need multiple document versions attached
User Process:
Navigate to Vendor Card: Open vendor for onboarding
Attach Contract:
Action → Attach → Select Document
Browse to vendor contract PDF
File Name:
Contract_[VendorNo]_[Year].pdfDocument Type: Contract (if using document type field)
Click OK
Attach W-9 Form:
Action → Attach → Select Document
Browse to completed W-9 PDF
File Name:
W9_[VendorNo]_2025.pdfDocument Type: Tax Form
Click OK
Verify Attachments:
Action → Attachments → View attached files
Confirm both documents present and readable
Complete Task:
Navigate to QUA WorkFlow Entries
Locate ATTACH-DOCS task
Action → Process
Task Status = Completed
BC Document Attachment Features:
Storage Location: Database (small files) or Azure Blob Storage (large files)
File Types Supported: PDF, DOCX, XLSX, JPG, PNG, MSG (Outlook emails), ZIP
Size Limits: Typically 10-50MB per file (configurable)
Version Control: Can attach multiple versions with date stamps
Permissions: Controlled by BC security (read/write/delete permissions)
Flow Integration: Documents accessible via Power Automate flows
Task 6: Purchasing Manager Final Approval
Business Purpose:
Purchasing manager performs final review of complete vendor setup and provides formal approval before vendor becomes active for purchasing operations. This task provides segregation of duties (different person approves than sets up), creates audit trail of approval decisions, and serves as final quality check.
Control Objective:
Segregation of Duties: Setup person ≠ Approval person (fraud prevention)
Quality Assurance: Independent verification of data accuracy
Authorization: Formal approval before vendor can incur company obligations
Audit Trail: Documented approval with timestamp and user ID
Role Responsibility: Purchasing Manager / Procurement Director
Task Configuration (QUA Workflow Task):
Field | Value | Technical Notes |
|---|---|---|
Workflow No. | VENDOR-ONBOARD | Links to parent workflow |
Code | MGR-APPROVE | Unique task identifier |
Description | Final approval for vendor [23:2] - Review complete setup | Dynamic vendor name |
Status | Open | Waits for Task 5 completion |
Assigned to | PURCHASE-MGR | Purchasing manager role |
Assigned to Team | blank | Individual assignment for accountability |
Due Date | +6D | Today + 6 Days |
Critical Date | +7D | Approval deadline |
Activity Type | Conditional | Requires explicit approval decision |
Template Code | blank | N/A |
Contact No. | blank | N/A |
Rule | VENDOR-ONBOARD | Links to validation |
Rule Line No. | 0 | Parent validation set |
Task 6: Status Rules
Release Condition (Line 9999):
Releases when Task 5 (ATTACH-DOCS) Status = Completed
Completion Logic (Line 10000):
Manual Completion with Confirmation Dialog - Activity Type = Conditional triggers approval confirmation.
User Approval Process:
Notification: Manager receives "New Task Assigned" notification
Task Review: Manager opens My Tasks, sees MGR-APPROVE
Vendor Review: Manager navigates to vendor card and reviews:
Contact Information (Task 1 completion):
Email address valid format
Phone number complete with area code
Address properly formatted
Contact name is decision-maker (not receptionist)
Tax Documentation (Task 2 completion):
W-9 or W-8 attached
Tax ID matches business name
Form signed and dated within last 3 years
Posting Groups (Task 3 completion):
Vendor Posting Group appropriate for vendor type
Gen. Bus. Posting Group matches geographic location
VAT Posting Group correct for tax jurisdiction
Payment Terms (Task 4 completion):
Payment Terms match contract terms
Payment Method feasible (ACH setup complete if ACH selected)
Discount terms captured if applicable
Documents (Task 5 completion):
Vendor contract attached and signed
W-9 form attached and complete
Documents are readable (not corrupted)
Approval Decision:
Navigate to QUA WorkFlow Entries
Locate MGR-APPROVE task (Status = Released)
Action → Process
Confirmation Dialog Appears:
Manager clicks Yes → Task Status = Completed
Manager clicks No → Task remains Released (needs correction)
Completion: Workflow Status = Completed, vendor ready for purchasing
Why Conditional Activity Type:
Activity Type | User Experience | Use Case |
|---|---|---|
Manual | User clicks Process, no dialog | Simple acknowledgment |
Conditional | User clicks Process, confirmation dialog appears | Approval decisions |
Interaction | Opens CRM interaction wizard | CRM integration |
Conditional activity type ensures manager consciously approves (can't accidentally click Process).
Workflow Completion and Vendor Activation
When All 6 Tasks Completed:
Workflow Header Status: Changes from "Released" to "Completed"
Completion Timestamp: "Closed" field populated with date/time
Vendor Status: Vendor now available for:
Purchase Order creation
Purchase Invoice posting
Payment processing
Vendor reports and analysis
Post-Completion Actions:
Optional custom status rule (Line 10001) could trigger:
Email Notification: Send email to purchasing team confirming vendor activation
Block Removal: Remove "Blocked" field if vendor was initially blocked
ERP Integration: Sync vendor to external systems (CRM, procurement platform)
Workflow Archive: Move completed workflow to archive table
Example Custom Status Rule for Email Notification:
Field | Value |
|---|---|
Workflow No. | VENDOR-ONBOARD |
Task Code | MGR-APPROVE |
Line No. | 10001 |
Description | Send approval notification email |
Field No. | blank |
Value | blank |
Rule | VENDOR-ONBOARD |
Rule Line No. | 10001 |
Rule Action: Configure QUA_Actions record with:
Action Type: Email
Recipient: [User ID from PURCHASE-MGR]
Subject:
Vendor [23:2] approved and ready for purchasingBody:
Vendor [23:1] - [23:2] has completed onboarding approval. Contact: [23:8], Phone: [23:9]
Comprehensive Testing Procedure
Test Objective: Validate complete workflow from vendor creation through manager approval, verifying all task dependencies, auto-completion logic, and manual approval processes.
Test Prerequisites:
User Setup: Create test users or assign yourself to all roles:
ACCT-CLERK (accounting clerk)
AP-CLERK (accounts payable)
FIN-CONTROLLER (finance controller)
PURCHASE-MGR (purchasing manager)
PURCHASE-ASST (purchasing assistant)
Configuration Verification:
Test Documents Preparation:
Sample W-9 form PDF (download from IRS.gov)
Sample vendor contract PDF (create generic template)
Save both to accessible folder
Page Setup:
Open: QUA WorkFlow Entries (list page)
Position: Side-by-side with Vendor Card (for quick switching)
Filter: Workflow No. = VENDOR-ONBOARD (prepare filter, don't apply yet)
Test Execution Steps:
Step 1: Create New Vendor and Trigger Workflow
Navigate: Search → Vendors → New
Enter values:
No.: TEST-V-001 (or allow auto-numbering)
Name: Test Vendor Company LLC
Tab out of Name field (triggers OnInsert)
Expected Result:
Vendor card saves successfully
Background validation fires (may not see visible confirmation)
Switch to QUA WorkFlow Entries page
Action → Refresh (F5)
Apply filter: Workflow No. = VENDOR-ONBOARD
Expected Result:
Header record created:
Entry No.: [Auto-generated]
Workflow No.: VENDOR-ONBOARD
Workflow Step Code: blank
Status: Released
Source Primary Key Value: TEST-V-001
Task 1 record created:
Entry No.: [Same as header]
Detailed Entry No.: [Auto-generated]
Workflow Step Code: CONTACT-INFO
Status: Released
Assigned to: ACCT-CLERK
Due Date: [Today + 1 Day]
Description: "Complete contact information for vendor Test Vendor Company LLC"
Tasks 2-6 records created:
All with Status: Open (not yet visible to users)
Troubleshooting if Workflow Doesn't Trigger:
Step 2: Complete Task 1 (Contact Information)
Return to Vendor Card (TEST-V-001)
Navigate to General FastTab
Fill required fields:
Address: 123 Industrial Parkway
City: TestCity
Post Code: 12345
Country/Region Code: US (select from dropdown)
Phone No.: +1-555-123-4567
E-Mail: test.vendor@example.com
Contact: John Smith
Tab out of Contact field (triggers OnModify validation)
Expected Result:
No visible confirmation (background process)
Task 1 should auto-complete (verify next step)
Switch to QUA WorkFlow Entries
Action → Refresh
Locate CONTACT-INFO task
Expected Result:
Status: Completed (changed from Released)
Completed at: [Current timestamp]
Completed by: [Your user ID]
Troubleshooting if Task Doesn't Auto-Complete:
Step 3: Verify Task 2 Auto-Release
In QUA WorkFlow Entries, locate TAX-DOCS task
Expected Result:
Status: Released (changed from Open)
Assigned to: AP-CLERK
Due Date: [Today + 2 Days]
Task now visible in AP-CLERK's My Tasks list
If Status still Open:
Action → Refresh (F5)
Check Task 1 actually Completed (not just appears complete)
Review Line 9999 validation for Task 2 (check previous task logic)
Step 4: Complete Task 2 (Tax Documentation)
Simulate Document Collection:
In real scenario: Email vendor requesting W-9
In test: Use prepared sample W-9 PDF
Return to Vendor Card (TEST-V-001)
Action → Attach (or Related → Attachments)
Attachments Page Opens:
Action → New (if using list page)
OR Click Attach button (if using document attachment card)
Select Document:
Browse to sample W-9 PDF file
File Name: W9_TEST-V-001_2025.pdf
Document Type: Tax Form (if available)
Click Open/OK
Verify Attachment:
Document appears in attachments list
Can preview/open to verify readability
Complete Task Manually:
Switch to QUA WorkFlow Entries
Locate TAX-DOCS task (Status = Released)
Select the task line
Action → Process (or click Process button)
Expected Result:
Task Status: Completed
Completed at: [Current timestamp]
No confirmation dialog (Activity Type = Manual)
Why Manual Completion:
System cannot validate PDF content (requires human review)
User must verify:
Tax ID matches vendor name
Form signed and dated
Correct form type (W-9 vs. W-8)
Step 5: Verify Task 3 Auto-Release and Complete
In QUA WorkFlow Entries, locate POSTING-GROUPS task
Expected Result:
Status: Released (auto-released when Task 2 completed)
Assigned to: FIN-CONTROLLER
Return to Vendor Card (TEST-V-001)
Navigate to Invoicing FastTab
Assign posting groups:
Vendor Posting Group: DOMESTIC (select from dropdown)
Tab out (triggers validation check)
Expected: Task still Released (2 more fields needed)
Gen. Bus. Posting Group: DOMESTIC
Tab out
Expected: Task still Released (1 more field needed)
VAT Bus. Posting Group: DOMESTIC
Tab out (triggers final validation)
Expected Result:
Task automatically completes
No user action required (no Process button click)
Switch to QUA WorkFlow Entries → Refresh
POSTING-GROUPS task Status: Completed
Auto-Completion Verification:
Demonstrates data-driven task completion
All 3 conditions must be TRUE
Completion happens on last field assignment
Step 6: Complete Task 4 (Payment Terms)
Verify PAYMENT-TERMS task auto-released (Status = Released)
Return to Vendor Card (TEST-V-001)
Navigate to Payments FastTab
Assign payment configuration:
Payment Terms Code: 30 DAYS NET (select from dropdown)
Tab out
Expected: Task still Released (1 more field)
Payment Method Code: CHECK (or ACH if available)
Tab out
Expected Result:
Task auto-completes immediately
Verify in QUA WorkFlow Entries:
PAYMENT-TERMS Status: Completed
Step 7: Complete Task 5 (Attach Documents)
Verify ATTACH-DOCS task auto-released (Status = Released)
Return to Vendor Card (TEST-V-001)
Action → Attach
Attach Vendor Contract:
Browse to sample contract PDF
File Name: Contract_TEST-V-001_2025.pdf
Document Type: Contract
Click Open/OK
Verify Attachments List:
Should now show 2 documents:
W9_TEST-V-001_2025.pdf
Contract_TEST-V-001_2025.pdf
Complete Task Manually:
Switch to QUA WorkFlow Entries
Locate ATTACH-DOCS task
Action → Process
Expected Result:
Task Status: Completed
Step 8: Complete Task 6 (Manager Approval) - Conditional Activity
Verify MGR-APPROVE task auto-released (Status = Released)
Manager Review Process:
Open Vendor Card (TEST-V-001)
Review all sections:
General: Contact information complete ✓
Invoicing: Posting groups assigned ✓
Payments: Payment terms configured ✓
Attachments: W-9 and contract attached ✓
Switch to QUA WorkFlow Entries
Locate MGR-APPROVE task (Status = Released)
Action → Process
Expected Result - Confirmation Dialog Appears:
Click Yes
Expected Result:
Task Status: Completed
Workflow Entry (header) Status: Completed
Closed: Yes (checkmark)
Vendor ready for purchasing operations
Why Confirmation Dialog Appears:
Activity Type = Conditional triggers dialog
Prevents accidental approval
Forces conscious decision by manager
Creates clear audit trail of approval
Step 9: Verify Workflow Completion
In QUA WorkFlow Entries, filter to Entry No. = [Header Entry No.]
Expected Results:
Header Record:
Status: Completed
Closed: Yes
All 6 detail tasks visible
All 6 Task Records:
Status: Completed
Completed at: [Timestamps showing progression]
Completed by: [User IDs]
Timeline Verification:
Task 1 completed first
Task 2 completed after Task 1
Task 3 completed after Task 2
Task 4 completed after Task 3
Task 5 completed after Task 4
Task 6 completed last (approval)
Vendor Activation Verification:
Navigate: Purchase Orders → New
Buy-from Vendor No.: TEST-V-001
Expected: Vendor selectable (no errors)
Create test purchase order line
Expected: Posting groups auto-populate
Expected: Payment terms auto-populate
Do not post (test only)
Step 10: Test Workflow Entry User Interface
Test My Tasks View:
Search: QUA My Tasks (or My Tasks)
Expected: Should be empty (all tasks completed)
Purpose: Shows tasks assigned to current user only
Test Role Center Cues:
Navigate to QUA Workflows Role Center (if implemented)
Cues should show:
Open Workflows: 0
Completed Workflows: 1 (TEST-V-001)
Overdue Tasks: 0
Critical Tasks: 0
Test Workflow History:
Return to Vendor Card (TEST-V-001)
Related → Workflow Entries (if available)
Expected: Shows workflow history for this vendor
Fields visible:
Workflow No., Entry No., Status, Created timestamp, Completed timestamp
Step 11: Test Error Scenarios
Scenario A: Create Vendor Without Completing Workflow
Create another test vendor: TEST-V-002
Immediately try to create purchase order:
New Purchase Order
Buy-from Vendor No.: TEST-V-002
Expected Result:
No blocking error (workflow is notification/process, not approval-blocking)
However, posting may fail if posting groups not assigned
Try to post invoice:
Add purchase line (Item, Quantity, Price)
Action → Post
Expected Result:
Error: "Vendor Posting Group must have a value in Vendor: No.=TEST-V-002"
Workflow would have prevented this by ensuring posting groups assigned
Scenario B: Skip Task in Sequence
Locate TEST-V-002 workflow
Try to complete Task 3 (POSTING-GROUPS) before Task 1 and 2
Expected Result:
Task 3 Status = Open (not Released)
Task not visible in My Tasks
Cannot process task until previous tasks complete
Demonstrates sequential task enforcement
Step 12: Test Team Assignment (If Configured)
Modify Task 1 to use team assignment:
QUA Workflow Setup → Tasks → CONTACT-INFO
Assigned to: blank
Assigned to Team: ACCOUNTING-TEAM
Create Business Team:
Search: QUA Business Teams
New: Code = ACCOUNTING-TEAM, Name = Accounting Team
Navigate to Members
Add multiple users (ACCT-CLERK-1, ACCT-CLERK-2, ACCT-CLERK-3)
Test Team Task Visibility:
Create new vendor: TEST-V-003
Log in as ACCT-CLERK-1
Search: My Tasks
Expected: CONTACT-INFO task visible (team assignment)
Log in as ACCT-CLERK-2
Expected: Same task visible (any team member can process)
Test Team Task Completion:
ACCT-CLERK-2 completes Task 1
Expected: Task disappears from all team members' My Tasks lists
Assigned to field updates: Shows ACCT-CLERK-2 (who actually processed it)
Step 13: Test Due Date and Critical Date Alerts
Simulate overdue task:
Create vendor: TEST-V-004
Do not complete Task 1
Modify system date forward +2 days (or wait 2 days)
Check overdue cues:
QUA Workflows Role Center
Expected: Overdue Tasks cue shows 1
Check critical date:
QUA WorkFlow Entries
Filter: Critical Date < TODAY
Expected: TEST-V-004 CONTACT-INFO task appears (highlighted in red if using conditional formatting)
Step 14: Test Validation Log
Force validation error:
Modify QUA Status rule Line 10000 for CONTACT-INFO
Change Field No. 102 to invalid field 999999
Save
Create vendor: TEST-V-005
Fill contact fields
Task won't auto-complete (validation error)
Check validation log:
Search: QUA Validation Log
Filter: Validation Set ID = VENDOR-ONBOARD-CONTACT-INFO
Expected: Error entry showing "Field 999999 not found"
Correct error:
Fix QUA Status rule back to Field No. 102
Modify vendor (trigger re-validation)
Expected: Task auto-completes
Step 15: Post-Test Cleanup and Documentation
Delete Test Vendors (or keep for reference):
TEST-V-001 through TEST-V-005
Document Test Results:
All tasks completed successfully: ✓
Task dependencies enforced: ✓
Auto-completion logic working: ✓
Manual tasks require Process click: ✓
Conditional approval shows dialog: ✓
Team assignments functional: ✓
Overdue tracking working: ✓
Prepare for Production:
Update user assignments with real users
Configure team memberships
Set up email notifications (if desired)
Train users on My Tasks and Process actions
Create user quick reference guide
Test Success Criteria:
Criteria | Expected Result | Pass/Fail |
|---|---|---|
Workflow triggers on vendor creation | Header + 6 tasks created | ☐ |
Task 1 auto-completes when fields filled | Status = Completed | ☐ |
Task 2 releases after Task 1 completes | Status changes to Released | ☐ |
Task 2 requires manual completion | User clicks Process | ☐ |
Task 3 auto-completes when 3 fields assigned | Status = Completed | ☐ |
Task 4 auto-completes when 2 fields assigned | Status = Completed | ☐ |
Task 5 requires manual completion | User clicks Process | ☐ |
Task 6 shows confirmation dialog | Dialog appears on Process | ☐ |
Workflow completes when Task 6 approved | Header Status = Completed | ☐ |
Vendor ready for purchasing after approval | Can create PO without errors | ☐ |
Sequential dependencies enforced | Tasks can't skip ahead | ☐ |
Validation log captures errors | Errors visible in log | ☐ |
Estimated Test Time: 45-60 minutes for complete end-to-end test
BC Consultant Best Practices
1. Workflow Design Principles
Sequential vs. Parallel Task Execution:
Pattern | When to Use | Example | Advantage |
|---|---|---|---|
Sequential | Tasks must complete in order | Vendor onboarding (info tax approval) | Enforces process discipline |
Parallel | Tasks independent of each other | Parallel credit check + contract review | Faster overall completion |
Conditional Branch | Different paths based on data | High-value vendors director approval | Flexible routing |
Current Workflow Pattern: Sequential (Tasks 1→2→3→4→5→6)
Rationale: Each task depends on previous task data completion
Alternative Parallel Design:
2. Auto-Completion vs. Manual Completion Decision Matrix
Task Type | Auto-Completion | Manual Completion | Reasoning |
|---|---|---|---|
Data Entry | ✓ Recommended | System can validate data presence | |
Document Attachment | ✓ Required | System cannot validate document content | |
Approval Decision | ✓ Required | Requires judgment, creates audit trail | |
Calculation | ✓ Recommended | System can verify calculation accuracy | |
CRM Interaction | ✓ (after wizard) | BC interaction wizard creates log entry |
Example 1 uses appropriate mix:
Tasks 1, 3, 4: Auto-complete (data validation)
Tasks 2, 5: Manual (document verification)
Task 6: Manual conditional (approval decision)
3. Assignment Strategy
Individual vs. Team Assignment:
Assignment Type | Pros | Cons | Use Case |
|---|---|---|---|
Individual User | Clear accountability | Single point of failure (vacation, sick) | Approval tasks, specialized roles |
Team | Workload balancing, coverage | Less accountability | High-volume tasks, clerical work |
Dynamic (Placeholder) | Routes to data-driven person | Requires field populated | Salesperson, Purchaser assignments |
Vendor Onboarding Recommendation:
4. Due Date and Critical Date Formula Best Practices
Date Formula Patterns:
Formula | Meaning | Use Case |
|---|---|---|
+1D | Tomorrow | Urgent daily tasks |
+3D | 3 days from now | Standard task turnaround |
+1W | 1 week from now | Weekly review cycles |
+1M | 1 month from now | Monthly compliance tasks |
CM | Current Month end | Month-end close tasks |
CW | Current Week end | Week-end reporting |
+5WD | 5 working days | Excludes weekends |
Vendor Onboarding Timeline Design:
Critical Date Strategy:
Critical Date = Due Date + 1 day (grace period)
Escalation triggers when Critical Date passed
Critical tasks highlighted in red on dashboards
5. Posting Group Assignment Logic
Decision Tree for Vendor Posting Group:
Decision Tree for Gen. Bus. Posting Group:
Decision Tree for VAT Bus. Posting Group:
6. Document Attachment Best Practices
File Naming Convention:
Benefits:
Searchable by vendor number
Sortable by document type
Year identifies current vs. archived documents
Standardization aids audits
Document Retention Policy:
Document Storage Recommendations:
7. Segregation of Duties (SOD) Compliance
Fraud Prevention Controls:
Function | Assigned Role | Cannot Also Perform |
|---|---|---|
Vendor Setup | Accounting Clerk | Vendor approval |
Vendor Approval | Purchasing Manager | Vendor payment |
Purchase Order | Purchasing Agent | Invoice receipt |
Invoice Receipt | AP Clerk | Invoice approval |
Invoice Approval | Department Manager | Payment processing |
Payment Processing | AP Manager | Bank reconciliation |
Vendor Onboarding SOD:
SOD Audit Report:
8. Integration with BC Purchasing Module
Vendor Fields Used in Purchasing:
Vendor Field | Purchase Order Impact | Invoice Posting Impact |
|---|---|---|
Vendor Posting Group | No effect | Determines AP GL account |
Gen. Bus. Posting Group | Combines with item posting group | Determines expense GL account |
VAT Bus. Posting Group | Calculates VAT on PO | Posts VAT to GL |
Payment Terms Code | Calculates due date | Sets payment due date |
Payment Method Code | No effect | Determines payment type in journal |
Currency Code | Sets PO currency | Exchange rate calculation |
Language Code | PO prints in vendor language | No effect |
Workflow Ensures:
All fields populated before first PO
Posting won't fail due to missing setup
Payment processing won't delay
9. Multi-Company Considerations
Scenario: Company has 3 legal entities in BC:
Company A: US Operations
Company B: EU Operations
Company C: Asia Operations
Vendor Onboarding Strategy:
Approach | Implementation | Pros | Cons |
|---|---|---|---|
Separate Workflows | VENDOR-ONBOARD-US, VENDOR-ONBOARD-EU, VENDOR-ONBOARD-ASIA | Customized to local requirements | More maintenance |
Single Workflow | VENDOR-ONBOARD (same across companies) | Consistent process | May not fit all jurisdictions |
Conditional Tasks | Add/skip tasks based on company | Flexible | Complex configuration |
Recommendation: Start with single workflow, add conditional tasks for country-specific requirements (e.g., EU VAT validation task).
10. Performance Optimization
High-Volume Scenarios (>100 vendors/month):
Optimization Strategies:
Query Performance:
Always filter on Status to use index effectively.
Key Learning Points
1. Workflow Patterns Demonstrated:
Pattern | Implementation in Example 1 | Key Technique |
|---|---|---|
Sequential Tasks | Tasks 1→2→3→4→5→6 | Line 9999 checks previous task completed |
Auto-Completion | Tasks 1, 3, 4 | Line 10000 validates required fields populated |
Manual Completion | Tasks 2, 5 | Line 10000 blank (requires Process click) |
Conditional Approval | Task 6 | Activity Type = Conditional triggers dialog |
Dynamic Description | All tasks | [23:2] placeholder resolves to vendor name |
Task Dependency | Each task waits for previous | Line 9999 enforces sequence |
2. Rule Engine Integration:
Workflow leverages Rule Engine for:
Trigger Detection:
[23:0]OnInsert creates workflowCondition Evaluation: Multi-field validation (AND logic)
Cross-Table Queries: Check workflow entry status from vendor table
Placeholder Resolution: Dynamic text in descriptions
Action Execution: UPDATEFIELD action changes task status
3. Data Validation Techniques:
Pattern: Field Existence Check
Pattern: Cross-Table Status Check
Pattern: Multi-Field AND Logic
4. Activity Type Selection:
Activity Type | User Experience | Completion Method | Best For |
|---|---|---|---|
Manual | User clicks Process | Immediate completion | Simple acknowledgments |
Conditional | User clicks Process → Dialog | Choice required | Approvals, decisions |
Interaction | User clicks Process → CRM Wizard | After wizard complete | Customer/vendor calls |
5. Placeholder Power:
Description Placeholders Make Tasks Context-Aware:
Multiple Placeholders in Single Description:
6. Date Formula Mastery:
Simple Offset:
+1D= Tomorrow+3D= 3 days from now+1W= 1 week from now
Work Day Exclusion:
+5WD= 5 working days (excludes weekends)
Period End:
CM= Current Month endCW= Current Week endCQ= Current Quarter end
Vendor Onboarding Uses Simple Offset:
Progressive deadlines (+1D, +2D, +3D, +4D, +5D, +6D)
Creates realistic timeline for 1-week onboarding cycle
7. Segregation of Duties:
Workflow Enforces SOD by Design:
Audit Trail Captured:
Who created vendor (BC standard audit)
Who completed each task (Completed by field)
When each step occurred (Completed at timestamp)
What data was present at approval (vendor card snapshot)
8. BC Module Integration:
Vendor Table (23) Fields Used:
Contact fields (1, 2, 5, 7, 8, 9, 90, 91, 102) → Task 1
Tax fields (document attachments) → Task 2
Posting groups (21, 88, 5950) → Task 3
Payment fields (27, 7700) → Task 4
Document Attachment Table (1173):
Stores W-9 and contract PDFs → Tasks 2, 5
Links via Table ID 23 and Record ID
WorkFlow Entries Table (72777606):
Stores workflow state and task assignments
Cross-referenced in Line 9999 validations
Provides audit trail and reporting
9. Common Pitfalls Avoided:
Pitfall | Example 1 Solution | Technique |
|---|---|---|
Duplicate workflows | OnInsert trigger (fires once) | Use Insert not Modify |
Task skipping | Line 9999 enforces sequence | Check previous task status |
Incomplete data | Line 10000 validates all fields | Multi-condition AND logic |
Accidental approval | Conditional activity type | Confirmation dialog |
Unclear tasks | Dynamic descriptions | Placeholder resolution |
10. Scalability Considerations:
Design Scales From:
5 vendors/month → 500 vendors/month
Scalable Features Used:
Team assignments (workload distribution)
Auto-completion (reduces manual processing)
Indexed queries (fast My Tasks lookup)
Modular design (add/remove tasks easily)
Performance Impact:
Workflow creation: <1 second per vendor
Task completion: <0.5 seconds per task
My Tasks query: <1 second for 1000 active tasks
Variations and Adaptations
Variation 1: Conditional Approval Based on Payment Terms
Business Scenario: High-risk payment terms (cash in advance, prepayment) require director-level approval; standard terms (Net 30) need only manager approval.
Implementation:
Replace Task 6 (single approval) with conditional branching:
Task 6A: Manager Approval (Standard Terms)
Line 9999 (Release Condition):
Task 6B: Director Approval (Special Terms)
Line 9999 (Release Condition):
Benefit: Appropriate approval level based on financial risk, shown in description placeholder [23:27].
Variation 2: International Vendor Additional Tasks
Business Scenario: Foreign vendors require additional compliance steps: OFAC screening, tax treaty validation, bank wire setup verification.
Implementation:
Add conditional tasks after Task 2 (Tax Docs):
Task 2A: OFAC Denied Parties Screening
Line 9999 (Release Condition):
Task 2B: Tax Treaty Validation
Line 9999 (Release Condition):
Task 2C: Wire Transfer Banking Setup
Line 9999 (Release Condition):
Benefit: Compliance tasks automatically added only when applicable, preventing unnecessary steps for domestic vendors.
Variation 3: Team-Based Assignment with Workload Balancing
Business Scenario: Accounting department has 5 clerks; distribute vendor onboarding tasks evenly to prevent bottlenecks.
Implementation:
Replace individual assignments with team assignments:
Task 1: Contact Information
Task 2: Tax Documentation
Task 5: Document Attachment
Create Teams:
Benefit:
Any team member can process task (coverage for absences)
Workload distributes across team
First available team member takes task
Completed by field tracks who actually processed
Advanced: Add custom status rule to assign to least busy team member:
Variation 4: Parallel Task Execution for Speed
Business Scenario: Vendor onboarding takes 6 days with sequential tasks; reduce to 3 days by running independent tasks in parallel.
Implementation:
Reorganize task dependencies:
Phase 1: Contact Information (Day 1)
Phase 2: Parallel Tasks (Days 2-3)
Modify Line 9999 for Tasks 3-5:
Phase 3: Final Approval (Day 4)
Modify Line 9999 for Task 6:
Timeline Comparison:
Trade-off: Slightly more complex validation (Task 6 checks 4 tasks instead of 1).
Variation 5: Industry-Specific Requirements
Manufacturing Industry:
Regulated Industry (Pharmaceuticals, Finance):
Government/Public Sector:
Variation 6: Approval Escalation for Overdue Tasks
Business Scenario: If manager doesn't approve within 2 days, auto-escalate to director.
Implementation:
Add Custom Status Rule for Task 6:
Validation Condition:
Optional Email Notification:
Benefit: Prevents workflow bottlenecks from individual absences or oversights.
Variation 7: Duplicate Vendor Prevention
Business Scenario: Prevent users from creating duplicate vendor records for same company.
Implementation:
Add Validation Rule Before Workflow Creation:
Create Warning Validation:
Condition (Check Similar Names):
BC Limitation: BC doesn't have built-in fuzzy matching; requires custom codeunit.
Alternative Simple Check:
Warning Message:
Benefit: Reduces duplicate vendor records, improves data quality.
Troubleshooting Guide
Issue 1: Workflow Doesn't Trigger When Vendor Created
Symptoms:
New vendor saved successfully
No workflow entry created in QUA WorkFlow Entries
My Tasks shows no new tasks
Diagnostic Steps:
Verify Workflow Enabled:
Verify Validation Set Enabled:
Verify Trigger Validation Exists and Enabled:
Check Validation Log for Errors:
Common Errors and Fixes:
Error in Log | Root Cause | Solution |
|---|---|---|
"Validation Set not found" | Workflow Setup didn't create validation set | Delete and recreate workflow setup |
"Action CREATEWORKFLOW not found" | Rule Engine not fully configured | Verify Rule Engine installation |
"Table 23 not found" | Permission issue | Grant user permission to Vendor table |
"No error, but no workflow" | Trigger timing issue | Change Insert=Before to Insert=After |
Resolution Procedure:
Issue 2: Task 1 Doesn't Auto-Complete After Filling All Fields
Symptoms:
User fills all 7 required contact fields
Task CONTACT-INFO Status remains "Released"
User expects auto-completion
Diagnostic Steps:
Verify All Fields Actually Populated:
Common Miss: Country/Region Code (dropdown easily skipped)
Check Validation Log:
Example error: "Field 102 filter <>'' failed: value is ''"
Verify Field Numbers Match BC Version:
Manual Trigger Attempt:
Check Status Rule Configuration:
Resolution Procedure:
Issue 3: Task 2 Doesn't Release After Task 1 Completes
Symptoms:
Task 1 (CONTACT-INFO) Status = Completed
Task 2 (TAX-DOCS) Status remains "Open"
User expects Task 2 to release immediately
Diagnostic Steps:
Verify Task 1 Actually Completed (not just appears complete):
Check Line 9999 Validation for Task 2:
Check Validation Condition:
Common Errors:
Error | Symptom | Fix |
|---|---|---|
Filter String = "Complete" | Doesn't match "Completed" | Change to "Completed" |
Scenario missing [23:1] filter | Checks ALL vendors' Task 1 | Add Source Primary Key Value filter |
Condition checks wrong table | Looks at Vendor table not Workflow Entries | Change Table ID to 72777606 |
Manual Release Test:
Resolution Procedure:
Issue 4: Manager Doesn't See Confirmation Dialog for Task 6
Symptoms:
Manager clicks Process on MGR-APPROVE task
Task completes immediately without dialog
Expected confirmation dialog doesn't appear
Root Cause: Activity Type = Manual (should be Conditional)
Diagnostic Steps:
Check Task Configuration:
Verify BC Version Supports Conditional Activity:
Resolution:
Alternative for Older BC Versions:
Issue 5: Workflow Creates Duplicate Entries for Same Vendor
Symptoms:
User creates vendor TEST-V-001
2 (or more) workflow entries created
Multiple tasks for same vendor in My Tasks
Root Cause: Trigger fires multiple times (OnModify instead of OnInsert)
Diagnostic Steps:
Check Trigger Type:
Check for Multiple Trigger Validations:
Check for External Triggers:
Resolution Procedure:
Prevention:
Issue 6: Task Assignment Doesn't Match User's Actual Role
Symptoms:
Task assigned to PURCHASE-MGR
User John Smith is purchasing manager
Task doesn't appear in John's My Tasks
Root Cause: User ID vs. Role mismatch
Diagnostic Steps:
Verify User ID:
Check Task Assignment:
Verify User Has Permission:
Resolution Procedure:
Issue 7: Posting Groups Don't Auto-Populate on Purchase Order
Symptoms:
Vendor onboarding completed successfully
All posting groups assigned during workflow
Creating PO doesn't auto-fill posting groups
Root Cause: BC standard behavior - PO pulls posting groups from vendor at time of PO creation, but workflow might not save vendor correctly.
Diagnostic Steps:
Verify Vendor Card Shows Posting Groups:
Check Field Update Occurred:
Check Purchase Order Logic:
Verify Posting Group Validation:
Resolution:
This completes Example 1 with comprehensive Aptean-level detail including business context, complete technical configuration, 15-step testing procedure, BC consultant best practices, 7 practical variations, and detailed troubleshooting guide with diagnostics and resolutions.
Example 2: Critical Stock Notification
Purpose: Department manager reviews complete vendor setup before approval.
Task Configuration:
Status Rule - Release (Line 9999):
Status Rule - Completion (Line 10000):
Testing the Workflow
Test Procedure:
Key Learning Points
Pattern Demonstrated:
Sequential workflow: Tasks execute in order
Auto-completion: Tasks 1-2 complete when data valid
Manual steps: Tasks 3-4 require user action
Conditional approval: Task 4 uses Conditional activity type
Techniques Used:
Multiple field validation (AND logic)
Task dependency via Line 9999 (check previous task completed)
Placeholder in description: [23:2] resolves to vendor name
Activity type variations: Manual vs. Conditional
Variations
Variation 1: Conditional Approval Based on Payment Terms:
Variation 2: International Vendor Additional Tasks:
Variation 3: Team-Based Assignment:
Troubleshooting
Issue: Task 1 doesn't auto-complete after filling all fields.
Solution:
Issue: Task 2 doesn't release after Task 1 completes.
Solution:
Issue: Manager doesn't see confirmation dialog for Task 4.
Solution:
Example 2: Critical Stock Level Notification Workflow
Business Scenario:
When inventory for any item falls below its defined reorder point, QUALIA Workflow automatically creates a notification entry assigned to the purchasing manager. This proactive alert system ensures timely reordering, prevents stockouts, and maintains optimal inventory levels without requiring manual monitoring.
This workflow addresses the critical supply chain challenge of balancing carrying costs against stockout risk through automated, data-driven notifications.
Real-World Context:
Distribution company with 850 active SKUs and $2.5M inventory investment. Prior to workflow implementation:
Purchasing manager spent 6 hours/week manually reviewing inventory reports
Stockouts occurred 12-15 times per month (average)
Emergency expedited shipping cost $1,200/month
Lost sales due to backorders averaged $8,500/month
Reorder decisions reactive (after customer complaints) rather than proactive
No standardized process for inventory monitoring
Critical items and commodity items treated with same urgency
Business Challenges:
Manual Monitoring Inefficiency:
Daily inventory reports generated but often ignored
Purchasing manager time wasted scanning 850-line spreadsheets
Critical items buried in data (no prioritization)
Weekends and holidays = no monitoring (stockouts over long weekends)
Inconsistent Reorder Timing:
Some items reordered too early (excess carrying costs)
Other items reordered too late (stockouts and expediting fees)
No systematic approach (dependent on individual memory/attention)
Vendor lead times not factored into reorder timing
Stockout Impact:
Production line stoppages (manufacturing environment)
Customer backorders and lost sales (distribution)
Expedited freight charges ($150-$300 per shipment)
Customer satisfaction decline (CSAT dropped from 92% to 84%)
Sales team credibility damage ("we never have what customers need")
Excess Inventory Risk:
Without systematic monitoring, buyers over-order "just in case"
Slow-moving inventory ties up cash
Obsolescence risk (especially for technology products)
Warehouse space constraints (physical capacity issues)
Lack of Accountability:
No clear ownership when stockouts occur
Blame between purchasing, warehouse, and sales
No audit trail of when low inventory was identified
Management lacks visibility into purchasing responsiveness
Measurable Business Value After Implementation:
Stockout Frequency: Reduced from 12-15/month to 1-2/month (90% reduction)
Monitoring Time: Eliminated 6 hours/week manual report review (save $15,600/year)
Expedited Shipping: Reduced from $1,200/month to $150/month (87% reduction)
Lost Sales: Prevented $8,500/month in backorders (100% improvement)
Customer Satisfaction: CSAT improved from 84% to 96% (14% increase)
Working Capital: Reduced excess inventory by 18% ($450,000 freed up)
Response Time: Average reorder initiation from 4 days to 6 hours (94% faster)
Accountability: 100% audit trail of low stock identification and action taken
Weekend Coverage: Automated monitoring 24/7/365 (no human required)
Workflow Configuration
Workflow Setup Table (QUA Workflow Setup - Table 72777600):
Field | Value | Notes |
|---|---|---|
No. | INVENTORY-CRITICAL | Auto-generated from number series |
Description | Critical Stock Level Notification | Appears in all workflow lists |
Table No. | 27 (Item) | Standard BC Item table |
Start Date | 01/06/2025 | Go-live date |
End Date | blank | No expiration - continuous monitoring |
Enabled | ☑ Yes | Active monitoring |
Recurring Frequency | blank | Event-driven (not time-based) |
Setup Navigation:
Trigger Configuration
Initiated By Table (QUA Initiated By - Table 72777602):
The workflow triggers automatically when item inventory changes AND falls below the reorder point.
Configuration:
Field | Value | Technical Details |
|---|---|---|
Workflow No. | INVENTORY-CRITICAL | Links to workflow setup |
Line No. | 10000 | Standard first line |
Rule | INVENTORY-CRITICAL | Auto-creates QUA_Validations record |
Rule Line No. | 0 | Trigger validation (not condition) |
Description | Trigger when inventory drops below reorder point | Documentation |
Auto-Created Validation Rule (QUA_Validations):
Field | Value | Purpose |
|---|---|---|
Validation Set ID | INVENTORY-CRITICAL | Links to workflow |
Line No. | 0 | Trigger line |
Trigger String |
| Item Inventory field |
Trigger Type | Modify=After | Fires when inventory changes |
Action Code | CREATEWORKFLOW | Creates workflow entry |
Enabled | ☑ Yes | Active |
Critical Configuration: Linked Table Comparison
This workflow uses QUALIA's Linked Table feature to compare two fields in the same record (Inventory vs. Reorder Point).
Scenario Configuration:
Scenario Field | Value | Purpose |
|---|---|---|
Table ID | 27 | Item table |
Field No. | 1 | Item No. field |
Filter String | [27:1] | Current item only |
Condition 1: Inventory Below Reorder Point (Linked Table Comparison):
Condition Field | Value | Explanation |
|---|---|---|
Table ID | 27 (Item) | Main table |
Field No. | 54 (Inventory) | Left side of comparison |
Filter String | Leave blank for linked comparison | |
Linked Table ID | 27 (Item) | Same table (self-join) |
Linked Field No. | 5718 (Reorder Point) | Right side of comparison |
Comparison Operator | < (Less Than) | Inventory LESS THAN Reorder Point |
How Linked Table Works:
Condition 2: Reorder Point Is Set:
Field | Value | Purpose |
|---|---|---|
Table ID | 27 (Item) | Item table |
Field No. | 5718 (Reorder Point) | Reorder point field |
Filter String |
| Must be greater than zero |
Purpose: Prevent workflow creation for items without reorder points configured (inventory management not needed).
Combined Logic (AND):
Trigger Timing - OnModify vs. OnInsert:
Trigger Type | When It Fires | Use Case |
|---|---|---|
OnInsert | New record created | Vendor onboarding (Example 1) |
OnModify | Existing record changed | Inventory monitoring (Example 2) |
OnDelete | Record deleted | Cleanup workflows |
Why OnModify for Inventory:
Inventory field changes frequently (sales, purchases, adjustments)
Each change triggers validation check
Workflow creates only when conditions met (not every inventory change)
Field-specific trigger:
[27:54]= only Inventory field changes fire trigger
Field-Specific Trigger Benefits:
Task 1: Review Critical Stock Level
Business Purpose:
Alert purchasing manager immediately when inventory drops to critical level, enabling timely purchase order creation before stockout occurs. This task serves as early warning system, shifting purchasing from reactive (responding to complaints) to proactive (preventing stockouts).
Role Responsibility: Purchasing Manager / Procurement Lead
Task Configuration (QUA Workflow Task - Table 72777601):
Field | Value | Technical Notes |
|---|---|---|
Workflow No. | INVENTORY-CRITICAL | Links to parent workflow |
Code | REVIEW-STOCK | Unique task identifier |
Description | CRITICAL: Item [27:3] inventory at [27:54] units (Reorder Point: [27:5718]) | Triple placeholder for full context |
Status | Released | Immediate notification (no wait) |
Assigned to | PURCHASE-MGR | Purchasing manager user ID |
Assigned to Team | blank | Individual assignment for accountability |
Due Date | +1D | Today + 1 Day (review within 24 hours) |
Critical Date | TODAY | Critical TODAY (urgent action) |
Activity Type | Manual | User acknowledges after action |
Template Code | blank | N/A (not CRM interaction) |
Contact No. | blank | N/A |
Rule | INVENTORY-CRITICAL | Links to validation |
Rule Line No. | 0 | Parent validation set |
Description Placeholder Analysis:
The description uses 3 placeholders to provide complete context without opening item card:
Why Critical Date = TODAY:
Critical Date | Urgency | Use Case |
|---|---|---|
TODAY | Immediate action required | Stock critical, order NOW |
+1D | Review tomorrow | Standard task follow-up |
+3D | Complete this week | Non-urgent process step |
Inventory workflow uses TODAY because:
Stock already below safety level
Every day of delay increases stockout risk
Vendor lead time clock starts when PO sent
Weekend/holiday coming = order before close of business
Due Date vs. Critical Date:
Task 1: Status Rule - Manual Completion
Completion Logic (Line 10000):
Field | Value | Purpose |
|---|---|---|
Workflow No. | INVENTORY-CRITICAL | Links to workflow |
Task Code | REVIEW-STOCK | Links to this task |
Line No. | 10000 | Standard completion line |
Description | Manual completion after manager takes action | Documentation |
Field No. | blank | No field update |
Value | blank | No value |
Rule | blank | No validation rule |
Rule Line No. | 0 | No rule line |
Why Manual Completion Required:
The workflow cannot automatically determine if appropriate action was taken. Manager must explicitly confirm:
Manager Decision Options:
Create Purchase Order:
Standard response: Stock critical, order from vendor
Manager creates PO for reorder quantity
PO references workflow entry for tracking
Manager clicks Process to complete notification
Adjust Reorder Point:
Analysis reveals reorder point too high
Current inventory actually sufficient for demand
Manager lowers reorder point on item card
Manager clicks Process (no PO needed)
Transfer from Another Location:
Multi-location companies: Check other warehouses
Transfer request to location with surplus
Faster than vendor reorder (internal transfer)
Manager clicks Process after initiating transfer
Accept Temporary Stockout:
Obsolete item being phased out
Seasonal item out of season
Customer demand collapsed (market change)
Manager clicks Process with note explaining decision
User Process for Manual Completion:
Notification Receipt:
Task appears in My Tasks list
Email notification (if configured): "Critical stock alert for Item 1000"
Role Center cue updates: Critical Tasks = 1
Review Item Details:
Description provides: Item name, current qty, reorder point
Manager opens Item Card to review:
Inventory: Current quantity (Field 54)
Reorder Point: Target level (Field 5718)
Reorder Quantity: How much to order (Field 5719)
Vendor No.: Default supplier (Field 99)
Vendor Item No.: Supplier's part number (Field 5720)
Lead Time Calculation: Days until delivery (Field 5505)
Check Existing Orders:
Navigate: Item Card → Related → Purchase Orders
Verify no pending PO already exists
Common scenario: PO created last week, not yet received
If PO exists: Note PO number, expected receipt date
Review Demand:
Navigate: Item Card → Statistics
Check: Sales (Qty.) = recent sales velocity
Check: Reserved Qty. = committed to customers
Check: Qty. on Sales Order = future committed demand
Analysis: Will current inventory + incoming PO meet demand?
Take Action:
Option A: Create Purchase Order (most common):
Option B: Adjust Reorder Point (if inappropriate):
Option C: Initiate Transfer (multi-location):
Complete Workflow Task:
Navigate: QUA WorkFlow Entries
Filter: Workflow No. = INVENTORY-CRITICAL
Locate REVIEW-STOCK task (Status = Released)
Select task line
Action → Process (or click Process button)
System prompts: "Mark task complete?"
Click Yes
Status changes to Completed
Completed at: [Timestamp]
Completed by: [Manager User ID]
Audit Trail Captured:
When inventory dropped below reorder point (workflow creation timestamp)
Who was notified (Assigned to field)
When notification acknowledged (Completed at)
Who took action (Completed by)
Time elapsed between alert and action (Completed at - Created at)
Performance Metrics from Audit Trail:
BC Consultant Best Practices - Inventory Management Integration
1. Reorder Point Calculation Methods
Manual Calculation:
BC Standard Features:
Business Central provides automatic reorder point calculation via planning worksheet:
Planning Method | Calculation | Best For |
|---|---|---|
Lot-for-Lot | Order exact demand quantity | Make-to-order items |
Maximum Qty. | Reorder to maximum inventory | Stable demand items |
Fixed Reorder Qty. | Always order same quantity | Economic order quantity (EOQ) |
Order | Dynamic calculation | Variable demand |
Navigate: Item Card → Planning FastTab
Field | Purpose | Example |
|---|---|---|
Reordering Policy | Method selection | Fixed Reorder Qty. |
Reorder Point | Trigger level | 50 units |
Reorder Quantity | Order quantity | 200 units |
Maximum Inventory | Upper limit | 250 units |
Safety Stock Quantity | Buffer | 20 units |
Lead Time Calculation | Vendor delivery time | 7D (7 days) |
Workflow Integration:
Workflow triggers when Inventory < Reorder Point
Manager creates PO for Reorder Quantity
Expected receipt: TODAY + Lead Time Calculation
Inventory replenished before safety stock consumed
2. Multi-Location Inventory Considerations
Scenario: Company has 3 warehouses (MAIN, EAST, WEST)
Challenge: Item critical at EAST location, but surplus at WEST location
BC Standard Solution: Stockkeeping Units (SKUs)
Workflow Configuration for Multi-Location:
Option 1: Single workflow, all locations:
Option 2: Separate workflow per location (recommended):
Option 3: Dynamic location-based assignment:
3. Integration with Purchase Order Creation
Manual Process (current Example 2):
Workflow notifies manager
Manager manually creates PO
Manager manually completes workflow task
Semi-Automated Enhancement:
Add Action to workflow: Create Draft Purchase Order
4. Preventing Duplicate Workflow Entries
Problem: Inventory fluctuates daily, workflow could trigger multiple times for same item.
Scenario:
Solution 1: One Workflow Per Item (Recommended):
Add validation condition to prevent duplicate:
Solution 2: Close Old Workflows Automatically:
5. Integration with Vendor Lead Times
Enhanced Description with Lead Time Context:
Lead Time Calculation Field (5505):
Format | Meaning | Example |
|---|---|---|
7D | 7 days | Standard vendor lead time |
2W | 2 weeks | Longer lead time |
1M | 1 month | Import or custom items |
10WD | 10 working days | Excludes weekends |
Lead Time Integration with Due Date:
6. Seasonal Demand Adjustments
Challenge: Reorder point static, but demand seasonal.
Example: Holiday decorations
November-December: High demand (50 units/day)
January-October: Low demand (5 units/day)
Solution: Dynamic Reorder Point via Custom Status Rule
Alternative: Multiple Workflows
7. Inventory Valuation and Workflow Priority
Challenge: Treat all items equally vs. prioritize high-value items.
ABC Analysis:
Category | Criteria | Reorder Policy |
|---|---|---|
A Items | Top 20% by value | Daily monitoring, immediate PO |
B Items | Middle 30% by value | Weekly monitoring, standard PO |
C Items | Bottom 50% by value | Monthly monitoring, batch PO |
Workflow Implementation:
8. Reporting and Analytics
Key Metrics from Workflow Data:
PowerBI Dashboard:
Comprehensive Testing Procedure
Test Objective: Validate that critical stock workflows trigger correctly when inventory falls below reorder point, verify linked table comparison logic, confirm placeholder resolution, and test all workflow lifecycle stages including duplicate prevention and performance under volume.
Test Prerequisites
1. User Setup:
2. Test Item Creation:
3. QUALIA Workflow Configuration Verification:
4. Initial Inventory Setup:
Test Execution Steps
Step 1: Verify Initial State (No Workflow Exists)
Action: Before triggering workflow, confirm starting conditions.
Verification Points:
Item Inventory Status:
No Active Workflow:
Manager's Task List:
Success Criteria: Inventory above reorder point, no active workflows, no pending tasks for purchasing manager.
Troubleshooting:
If workflow exists: Delete existing workflows for TEST-ITEM-001 before proceeding
If inventory incorrect: Post adjustment journal to set exactly 100 units
Step 2: Reduce Inventory Below Reorder Point (Trigger Workflow)
Action: Reduce inventory to 40 units (below 50 reorder point) using inventory adjustment.
Method 1: Item Journal Negative Adjustment (Recommended):
Method 2: Sales Order (Simulates Real Transaction):
Expected Result: Item inventory changes from 100 to 40 units. This modification of Field 54 (Inventory) triggers the OnModify event.
Immediate Trigger Logic:
Timing: Workflow creation is immediate (within 1-2 seconds of posting adjustment).
Step 3: Verify Workflow Entry Created
Action: Confirm QUALIA created workflow task for purchasing manager.
Verification Point 1: Workflow Entry Exists:
Verification Point 2: Linked Table Comparison Captured:
Verification Point 3: Audit Trail Complete:
Success Criteria: One workflow entry with Status=Released, correct table/record, assigned to PURCHASE-MGR, Critical Date=TODAY.
Troubleshooting:
Workflow not created: Check workflow is active, table number correct, conditions syntax valid
Multiple workflows created: Indicates duplicate prevention issue (test in Step 10)
Wrong assignment: Review Rule Group assignment for PURCHASE-MGR user
Step 4: Verify Placeholder Resolution in Description
Action: Open workflow task and verify all three placeholders replaced with actual values.
Verification:
Success Criteria: All three placeholders replaced with current values from Item record. No placeholder syntax visible (e.g., no "[27:3]" text remaining).
Troubleshooting:
Placeholders not resolved: Check QUALIA placeholder resolution enabled in setup
Wrong values shown: Verify field numbers in description template match correct fields
Partial resolution: Check if some fields have permission restrictions
Step 5: Test Manager Notification View (My Tasks)
Action: Log in as purchasing manager and verify task appears in personal task list.
Manager View:
Notification Options (if configured):
Email: sarah.johnson@company.com receives email notification
Push Notification: Toast notification in BC client
Teams: Message in Microsoft Teams channel (if integrated)
Task List Filtering:
Success Criteria: Task visible in manager's personal task list, urgency indicators present, description fully resolved, correct assignment.
Step 6: Manager Reviews Critical Stock (Decision Process)
Action: Simulate purchasing manager reviewing critical stock alert and making informed decision.
Manager Analysis:
Manager Documentation (in workflow task notes):
Success Criteria: Manager can access all necessary information (item details, inventory, lead times, vendor info) directly from workflow task context.
Step 7: Manager Creates Purchase Order (Workflow Response)
Action: Purchasing manager creates PO to replenish critical stock.
Purchase Order Creation:
Link PO to Workflow (optional enhancement):
Success Criteria: Purchase order created with correct item, quantity (equals reorder quantity), and expected receipt date (today + lead time). PO not yet posted (pending vendor confirmation).
Step 8: Manager Completes Workflow Task (Close Workflow)
Action: Mark workflow task as complete after taking corrective action.
Completion Process:
System Actions:
Success Criteria: Workflow status changes to Completed, task disappears from active task list, audit trail shows completion timestamp and user, comments captured.
Troubleshooting:
Cannot complete task: Check user permissions for workflow task completion
Completion button disabled: Verify task status is Released (not already completed)
Completion not saved: Check required fields in completion dialog
Step 9: Verify Completion and Audit Trail
Action: Confirm workflow completed properly and audit information captured.
Verification Point 1: Workflow Log Status:
Verification Point 2: Response Time Calculation:
Verification Point 3: Audit Trail Completeness:
Verification Point 4: My Tasks List Clean:
Success Criteria: Workflow marked as Completed, audit trail shows full lifecycle with timestamps, response time calculated and within target, manager's active task list clean.
Step 10: Test Duplicate Workflow Prevention
Action: Reduce inventory again while workflow still exists (status changed to Completed) to verify duplicate prevention logic.
Test Scenario:
Action 1: Further Reduce Inventory:
Expected Behavior:
Verification:
Business Rationale for Duplicate Prevention:
Prevents notification spam for same issue
Once manager addresses critical stock (creates PO), no need for repeated alerts
Manager expects PO to arrive in 7 days (lead time), so inventory may remain below reorder point temporarily
New workflow should only trigger if:
Previous workflow deleted/archived, OR
Inventory restocked above reorder point, then falls again (new stockout event)
Success Criteria: No duplicate workflow created despite inventory still below reorder point. Only one workflow exists for TEST-ITEM-001 with Status=Completed.
Troubleshooting:
Duplicate workflow created: Check duplicate prevention logic in workflow configuration. May need custom code to check for existing workflows:
Step 11: Test Restock and Workflow Closure Logic
Action: Receive purchase order to restock inventory above reorder point, then verify no new workflow created.
Action 1: Receive Purchase Order:
Expected Inventory State:
Verification: No New Workflow Triggered:
Action 2: Test Future Stockout (Restock Cycle):
Expected: NEW Workflow Created:
Success Criteria:
Restocking above reorder point does NOT trigger workflow (condition not met)
Subsequent reduction below reorder point DOES trigger NEW workflow (new event)
System distinguishes between duplicate alerts and legitimate new stockout events
Step 12: Test Edge Cases and Boundary Conditions
Test Case 1: Inventory Exactly Equals Reorder Point:
Test Case 2: Item with No Reorder Point (Zero Value):
Test Case 3: Negative Inventory (Adjustment Error):
Test Case 4: Multiple Items Simultaneously:
Success Criteria for Edge Cases: System correctly interprets boundary conditions, prevents workflow creation when inappropriate (zero reorder point, exact equality), and handles batch processing without errors.
Step 13: Test Linked Table Comparison Validation
Action: Verify linked table comparison logic works correctly across different scenarios.
Linked Table Comparison Refresher:
Test Matrix:
Test # | Inventory (54) | Reorder Point (5718) | Condition 1 (< comparison) | Condition 2 (> 0) | Workflow Created? |
|---|---|---|---|---|---|
1 | 40 | 50 | TRUE (40 < 50) | TRUE (50 > 0) | YES |
2 | 50 | 50 | FALSE (50 not < 50) | TRUE (50 > 0) | NO |
3 | 60 | 50 | FALSE (60 not < 50) | TRUE (50 > 0) | NO |
4 | 40 | 0 | FALSE (40 not < 0) | FALSE (0 not > 0) | NO |
5 | 0 | 50 | TRUE (0 < 50) | TRUE (50 > 0) | YES |
Test Execution:
Verification Point: Trigger Details:
Success Criteria: All five test scenarios produce expected workflow creation results. Trigger details accurately show field values and comparison results.
Step 14: Test Performance with High-Volume Transactions
Action: Simulate high-volume inventory transactions to verify workflow triggers efficiently without performance degradation or duplicate workflows.
Test Scenario: Distribution center with frequent inventory movements (sales, receipts, adjustments).
Setup:
High-Volume Transaction Batch:
Expected Workflow Behavior:
Performance Metrics:
Verification:
Success Criteria:
System processes 18 transactions in < 5 seconds
Exactly 2 workflows created (not 18, not 10)
Duplicate prevention works during high-volume transactions
No performance degradation or errors
Workflow trigger evaluation time remains consistent across all transactions
Troubleshooting:
Performance slow: Check database indexes on Item table (Inventory, Reorder Point fields)
Duplicate workflows: Duplicate prevention logic may not handle rapid transactions (needs locking mechanism)
Workflows not created: Trigger may be disabled during batch processing (check QUALIA configuration)
Step 15: Test Validation Log for Errors
Action: Intentionally introduce configuration errors to verify validation log captures issues correctly.
Error Test 1: Invalid Field Number in Description:
Error Test 2: Invalid Condition (Field Does Not Exist):
Error Test 3: Circular Reference in Linked Table Comparison:
Verification: Validation Log Error Details:
Success Criteria: Validation log captures all configuration errors with clear error messages, timestamps, and resolution guidance. Critical errors prevent workflow creation; warnings allow workflow creation but flag issues.
Step 16: Post-Test Cleanup and Documentation
Action: Clean up test data and document test results.
Cleanup Steps:
Test Results Documentation:
Test Success Criteria Summary
Criterion | Description | Expected Result | Actual Result | Pass/Fail |
|---|---|---|---|---|
1. Trigger Activation | Workflow triggers when inventory falls below reorder point | Workflow created within 2 seconds of inventory reduction | [Document] | [ ] |
2. Linked Table Comparison | System correctly compares Inventory (54) < Reorder Point (5718) | Comparison evaluates correctly across 5 test scenarios | [Document] | [ ] |
3. Placeholder Resolution | All three placeholders resolve to current item values | [27:3], [27:54], [27:5718] all resolved correctly | [Document] | [ ] |
4. Task Assignment | Workflow task assigned to correct user (PURCHASE-MGR) | Task visible in manager's My Tasks list | [Document] | [ ] |
5. Critical Date | Critical Date set to TODAY (urgent flag) | Task highlighted as urgent in task list | [Document] | [ ] |
6. Manager Decision Process | Manager can access all necessary information from workflow | Item details, inventory, lead times accessible | [Document] | [ ] |
7. Purchase Order Creation | Manager can create PO from workflow context | PO created with correct item and quantity | [Document] | [ ] |
8. Workflow Completion | Manager can complete task after taking action | Workflow status changes to Completed | [Document] | [ ] |
9. Audit Trail | System captures full lifecycle with timestamps | Creation, assignment, completion timestamps present | [Document] | [ ] |
10. Duplicate Prevention | No duplicate workflows created for same item | Only 1 workflow exists despite multiple inventory reductions | [Document] | [ ] |
11. Restock Cycle | Restocking above reorder point does not trigger workflow | No workflow created when inventory increases | [Document] | [ ] |
12. Edge Cases | System handles boundary conditions correctly | Exact equality, zero reorder point, negative inventory handled | [Document] | [ ] |
13. Batch Processing | Multiple items processed simultaneously without errors | 3 workflows created for 3 items in single batch | [Document] | [ ] |
14. Performance | Workflow creation time < 1 second per workflow | All workflows created within performance target | [Document] | [ ] |
15. High-Volume Transactions | System handles 18 transactions efficiently (< 5 seconds) | Only 2 workflows created (duplicate prevention working) | [Document] | [ ] |
16. Error Handling | Validation log captures configuration errors | Errors logged with clear messages and severity | [Document] | [ ] |
Key Learning Points
This example demonstrates several critical QUALIA Workflow capabilities and Business Central integration patterns that BC consultants should master:
1. Linked Table Field Comparison Technique
What It Is: Linked table comparison allows comparing two fields within the same record of the same table. Unlike cross-table comparisons (where Field A in Table 1 compares to Field B in Table 2), linked table comparisons evaluate fields within a single record.
Example from This Workflow:
When to Use:
Threshold Monitoring: Field value compared to target/limit field (inventory vs. reorder point, balance vs. credit limit)
Percentage Calculations: Actual value vs. budget value (actual cost vs. budget cost)
Date Comparisons: Due date vs. ship date, start date vs. end date
Status Validation: Current status vs. expected status
Configuration Syntax:
Advantages:
Real-Time Evaluation: Compares current values at moment of trigger
No Hard-Coded Values: Thresholds stored in record fields, not workflow configuration
Flexible: Each record can have different threshold (each item has unique reorder point)
Maintainable: Users update thresholds via item card, not workflow configuration
Common Use Cases:
Inventory Management: Inventory < Reorder Point (this example)
Credit Management: Customer Balance > Credit Limit × 0.90
Budget Monitoring: Actual Amount > Budget Amount
Project Management: Actual Hours > Estimated Hours
Pricing Validation: Unit Price < Minimum Price
Date Validation: Shipment Date > Requested Delivery Date
2. OnModify Trigger vs. OnInsert Trigger Strategy
Trigger Type Comparison:
Aspect | OnInsert | OnModify |
|---|---|---|
Fires When | New record created | Existing record changed |
Frequency | Once per record | Multiple times per record |
Use Case | Onboarding, approval for new records | Monitoring, threshold alerts |
Example | New vendor approval (Example 1) | Critical stock alert (Example 2) |
Performance | Lower frequency, less overhead | Higher frequency, needs optimization |
Duplicate Risk | Low (record created once) | High (field modified many times) |
OnModify Best Practices:
Field-Specific Triggers:
Use
OnModify [TableNo:FieldNo]to monitor specific field changesExample:
OnModify [27:54]only fires when Inventory field changes, not when Description or Price changesPerformance Benefit: Reduces unnecessary trigger evaluations (Inventory field changes less frequently than other fields)
Duplicate Prevention Critical:
OnModify can fire hundreds of times for same record (inventory adjusted daily)
Must implement duplicate workflow prevention (check for existing active workflows)
Example: Don't create new workflow if Status=Released workflow already exists for this item
Condition Specificity:
OnModify conditions should be highly specific to avoid false positives
Example: Not just "Inventory < 100" (hard-coded), but "Inventory < Reorder Point" (dynamic, record-specific)
Performance Optimization:
Field-specific triggers reduce evaluation overhead
Indexed fields for linked table comparisons (Inventory, Reorder Point should be indexed)
Consider batch processing for high-volume tables (don't trigger workflow for every single transaction)
Decision Matrix: OnInsert vs. OnModify:
Workflow Purpose | Recommended Trigger | Reasoning |
|---|---|---|
New record approval/onboarding | OnInsert | Record created once, workflow guides setup |
Threshold monitoring (inventory, credit) | OnModify (field-specific) | Monitor specific field changes, not all changes |
Status change notifications | OnModify [TableNo:StatusFieldNo] | Only fire when status field changes |
Document posting validations | OnModify (document posted) | Check conditions when document ready to post |
Periodic reviews (annual, quarterly) | Scheduled trigger (not OnModify) | Time-based, not change-based |
Data entry validations | OnInsert or OnModify | Depends on when validation needed (creation vs. update) |
3. Field-Specific Trigger Optimization
Standard OnModify vs. Field-Specific OnModify:
How to Implement:
When to Use Field-Specific Triggers:
High-Frequency Tables: Tables modified many times per day (Item, Customer, Sales Header)
Specific Field Monitoring: Only care about changes to one or few fields (Inventory, Balance, Status)
Performance-Critical: Large databases with thousands of records
Threshold Workflows: Monitoring field values against limits (this example)
When NOT to Use Field-Specific Triggers:
Low-Frequency Tables: Tables modified infrequently (Company Information, Setup tables)
Multiple Field Dependencies: Workflow needs to evaluate changes across many fields
Audit Trails: Need to track all changes to record, not just specific field
Performance Monitoring:
4. Inventory Management Workflow Patterns
Pattern 1: Proactive Stock Monitoring (This Example):
Pattern 2: Stockout Alert (Reactive):
Pattern 3: Overstock Alert:
Pattern 4: Slow-Moving Inventory:
Pattern 5: Multi-Location Transfer:
Pattern Selection Decision Tree:
5. Dynamic Placeholder Resolution in Notifications
Placeholder Capability: Placeholders ([TableNo:FieldNo]) dynamically insert current field values into workflow descriptions, making notifications context-specific and actionable.
This Example's Placeholder Usage:
Advantages of Placeholders:
Context-Rich Notifications: Manager sees exact item name, current quantity, and threshold in notification
No Manual Data Entry: Values pulled automatically from record
Always Current: Placeholders resolve at workflow creation time, capturing exact values when alert triggered
Actionable: Manager knows exactly what item is critical and how urgent (40 units vs. 50 reorder point = 80% depleted)
Advanced Placeholder Techniques:
Technique 1: Calculated Placeholders (Using Formulas):
Technique 2: Multi-Table Placeholders (Cross-Table References):
Technique 3: Date Formula Placeholders:
Technique 4: Conditional Text Placeholders:
Best Practices:
Limit to 3-5 Placeholders: Too many placeholders make description hard to read
Essential Information Only: Include only actionable information (item, quantity, threshold)
Format for Readability: Use natural language structure with placeholders embedded
Test Placeholder Resolution: Verify all placeholders resolve correctly (see Step 4 of testing procedure)
6. Duplicate Workflow Prevention Logic
The Problem: OnModify triggers can fire multiple times for same record (inventory adjusted daily), potentially creating dozens of duplicate workflows for same critical stock issue.
Example Without Duplicate Prevention:
Duplicate Prevention Strategy:
Method 1: Check for Active Workflow Before Creating New:
Method 2: Workflow Completion Resets Alert:
Method 3: Time-Based Duplicate Prevention:
Method 4: Status-Based Prevention (This Example):
Testing Duplicate Prevention (See Step 10):
7. Business Central Inventory Planning Integration
BC Planning Methods Comparison:
Planning Method | Reorder Point | Reorder Quantity | Order-to-Order | Use Case |
|---|---|---|---|---|
Fixed Reorder Qty | Yes (manual or calculated) | Fixed quantity | No | This example - predictable demand |
Maximum Qty | Reorder Point | Up to Maximum Inventory | No | Items with storage limits |
Order | Not used | Equals demand | Yes | Make-to-order items |
Lot-for-Lot | Not used | Equals net requirements | Yes | Expensive items, low demand |
QUALIA Workflow Integration Points:
Integration 1: Reorder Point Calculation:
Integration 2: Purchase Order Creation from Workflow:
Integration 3: Multi-Location Planning:
Integration 4: Vendor Lead Time Automation:
Practical Variations
This section demonstrates how to adapt the Critical Stock Notification workflow for different business scenarios, showing the flexibility and customization options available in QUALIA Workflows.
Variation 1: Escalation for Overdue Critical Stock Alerts
Business Need: Critical stock workflows remain unaddressed beyond acceptable timeframe (manager on vacation, high workload, oversight).
Enhancement: Add escalation rule to notify director if workflow not completed within 24 hours.
Configuration Changes:
Step 1: Add Escalation Task:
Step 2: Add Time-Based Status Rule:
Step 3: Enhanced Placeholder for Escalation:
Business Impact:
Accountability: Manager knows director will be notified if deadline missed
Risk Mitigation: Critical items don't fall through cracks
Response Time: 98% of alerts addressed within 24 hours (before escalation)
Variation 2: Multi-Location Critical Stock with Transfer Priority
Business Need: Company has multiple warehouse locations. Before creating purchase order, check if another location has excess inventory for transfer.
Enhancement: Workflow checks all locations for item availability before alerting to purchase.
Configuration Changes:
Step 1: Modify Trigger Condition:
Step 2: Add Transfer Suggestion to Description:
Step 3: Manager Decision Options:
Business Impact:
Cost Savings: $12,000/year saved by prioritizing transfers over purchases
Faster Replenishment: Transfers arrive in 1-2 days vs. 7 days for purchases
Inventory Optimization: Balance inventory across locations
Technical Requirement: QUALIA must support cross-location inventory lookups in placeholders and conditions.
Variation 3: Priority-Based Workflows (ABC Analysis)
Business Need: Not all items equally critical. "A" items (high-value, high-volume) require immediate attention. "C" items (low-value, low-volume) can tolerate stockouts.
Enhancement: Create separate workflows with different urgency levels based on ABC classification.
Configuration:
Step 1: ABC Classification Setup:
Step 2: Create Three Workflows:
Step 3: Differentiated Response Times:
Business Impact:
Focus: Purchasing team focuses on high-impact items first
Efficiency: Reduce alert fatigue (no urgent alerts for low-value items)
Cost Optimization: Batch purchase Category C items (reduce shipping costs)
Service Levels: 99% fill rate for Category A, 95% for B, 90% for C
Variation 4: Vendor Information in Workflow Description
Business Need: Purchasing manager needs vendor details immediately in workflow notification to expedite PO creation.
Enhancement: Include vendor name, contact, and lead time in workflow description using cross-table placeholders.
Configuration:
Step 1: Enhanced Description with Vendor Placeholders:
Step 2: Cross-Table Placeholder Configuration:
Step 3: Add Quick Actions to Workflow Task:
Business Impact:
Speed: Manager has all information in one view (no need to open item card, vendor card)
Efficiency: Reduce PO creation time from 10 minutes to 2 minutes
Communication: Direct phone/email actions streamline vendor contact
Decision-Making: Estimated cost helps manager decide between vendor options
Variation 5: Auto-Create Draft Purchase Order
Business Need: For highly predictable items with reliable vendors, automatically create draft purchase order when stock critical.
Enhancement: Workflow automatically generates draft PO, manager only needs to review and post.
Configuration:
Step 1: Add Custom Action to Workflow:
Step 2: Draft PO Creation Logic (Pseudo-Code):
Step 3: Manager Workflow Task:
Business Impact:
Speed: PO creation automated (0 minutes vs. 10 minutes manual)
Consistency: All POs follow same format, no data entry errors
Manager Role: Review and approve, not data entry
Response Time: 50% reduction in time from alert to PO sent to vendor
Cautions:
Vendor Reliability: Only auto-create POs for vendors with 95%+ on-time delivery rate
Item Stability: Only for items with predictable demand (A and B items, not C)
Approval Required: Manager must still review and post (not fully automated)
Exception Handling: If vendor unavailable, PO creation fails gracefully (workflow still created, PO not)
Variation 6: Seasonal Reorder Point Adjustments
Business Need: Seasonal items have fluctuating demand. Reorder points should adjust based on season (higher in peak season, lower in off-season).
Enhancement: Dynamic reorder point calculation based on time of year.
Configuration:
Step 1: Seasonal Reorder Point Table:
Step 2: Dynamic Condition with Seasonal Adjustment:
Step 3: Description Shows Seasonal Context:
Business Impact:
Stockout Prevention: 40% reduction in holiday season stockouts
Inventory Optimization: Avoid overstock in off-season (lower reorder points Jan-Oct)
Revenue Protection: $50,000/year additional revenue (holiday sales not lost to stockouts)
Variation 7: Batch Notifications (Consolidated Alert)
Business Need: High-volume distribution centers may have 20-30 items go critical daily. Individual workflows create alert fatigue.
Enhancement: Batch multiple critical stock items into single daily digest workflow.
Configuration:
Step 1: Change Trigger from OnModify to Scheduled:
Step 2: Batch Workflow Task:
Step 3: Batch PO Creation Action:
Business Impact:
Efficiency: One workflow per day vs. 20-30 individual workflows
Focus: Manager reviews all critical items in single session (30 minutes vs. scattered throughout day)
Batch Ordering: One PO per vendor with multiple items (reduce shipping costs)
Alert Fatigue: 95% reduction in individual notifications
Trade-Off: Less urgent (daily batch vs. immediate alert). Only suitable for environments where stockouts can tolerate 4-8 hour delay.
Troubleshooting Guide
This section provides diagnostic procedures for common issues encountered with the Critical Stock Notification workflow, along with root cause analysis and resolution steps.
Issue 1: Workflow Not Triggering When Inventory Falls Below Reorder Point
Symptoms:
Inventory reduced below reorder point (verified in Item Card)
No workflow entry created in Validation Log
Manager not receiving critical stock notifications
Diagnostic Steps:
Step 1: Verify Workflow Active:
Step 2: Verify Trigger Configuration:
Step 3: Verify Conditions:
Step 4: Manual Condition Test:
Step 5: Check Validation Log for Errors:
Common Root Causes:
Root Cause 1: Reorder Point = 0 (Not Configured):
Root Cause 2: Wrong Field Number in Trigger:
Root Cause 3: Permissions Issue:
Root Cause 4: Trigger Disabled During Batch Operations:
Root Cause 5: Condition Syntax Error:
Resolution Verification:
Issue 2: Duplicate Workflows Created for Same Item
Symptoms:
Multiple workflow entries for same item in Validation Log
Manager receives 5-10 notifications for same critical stock issue
All workflows have Status = Released (active)
Diagnostic Steps:
Step 1: Confirm Duplicates Exist:
Step 2: Analyze Creation Timeline:
Step 3: Check Duplicate Prevention Logic:
Common Root Causes:
Root Cause 1: No Duplicate Prevention Condition:
Root Cause 2: Workflows Not Marked as Completed:
Root Cause 3: Trigger Fires on Every Field Change (Not Field-Specific):
Root Cause 4: Race Condition in High-Volume Transactions:
Resolution Steps:
Step 1: Implement Duplicate Prevention:
Step 2: Clean Up Existing Duplicates:
Step 3: Verify Fix:
Issue 3: Placeholders Not Resolving in Workflow Description
Symptoms:
Workflow description shows
[27:3]instead of item namePlaceholders like
[27:54]remain as literal text, not replaced with valuesManager sees unhelpful notification: "Critical stock alert: [27:3] has only [27:54] units..."
Diagnostic Steps:
Step 1: Verify Placeholder Syntax:
Step 2: Verify Field Numbers Correct:
Step 3: Check Placeholder Resolution Configuration:
Step 4: Test Placeholder Resolution Manually:
Common Root Causes:
Root Cause 1: Invalid Field Number:
Root Cause 2: Permissions Issue:
Root Cause 3: Record ID Mismatch:
Root Cause 4: FlowField or CalcField Not Evaluated:
Root Cause 5: Cross-Table Placeholders Not Supported:
Resolution Verification:
Example 3: Credit Limit Warning (90% Threshold)
Business Scenario: When a customer's balance approaches 90% of their credit limit, the accountant receives a notification workflow entry to review the account and potentially contact the customer about payment or credit limit adjustment.
Business Challenge:
Credit limit exceeded situations discovered too late
No proactive monitoring of customer credit health
Customer relationships damaged by surprise credit holds
Lost sales when orders rejected due to credit
Measurable Business Value:
Preventive Action: 85% of credit issues resolved before limit exceeded
Customer Satisfaction: Reduced credit-related complaints by 70%
Sales Preservation: Prevented /month in credit-blocked orders
Collection Time: Improved average collection period from 45 to 38 days
Workflow Configuration
Workflow Setup:
Trigger Configuration (Initiated By):
Simplified Configuration (Threshold-Based):
Task 1: Review Customer Credit
Purpose: Alert accountant to proactively manage credit situation.
Task Configuration:
Status Rule - Completion (Line 10000):
Optional Task 2: Customer Contact
Purpose: If accountant decides contact needed, create interaction task.
Task Configuration:
Status Rule - Release (Line 9999):
Testing the Workflow
Test Procedure:
Key Learning Points
Pattern Demonstrated:
Proactive notification: Alert before problem occurs
Threshold-based trigger: Balance approaching limit
Linked table comparison: Balance vs. Credit Limit
Conditional activity: Requires accountant decision
Techniques Used:
OnModify trigger on Balance field
Linked table for cross-field comparison
Multiple placeholders for complete context
Conditional activity for approval-style processing
Optional follow-up task (can extend to full workflow)
Business Process Integration:
Fits into credit management process
Proactive vs. reactive approach
Enables customer relationship management
Prevents surprise credit holds
Variations
Variation 1: Multiple Threshold Levels:
Variation 2: Automatic Credit Hold:
Variation 3: Include Aging Information:
Variation 4: Team-Based Assignment:
Troubleshooting
Issue: Workflow triggers too frequently (every small balance change).
Solution:
Issue: Percentage calculation not exact (using threshold approximation).
Solution:
Issue: Accountant doesn't see confirmation dialog.
Solution:
Example 4: Expired Lot Number Notification
Business Scenario: Warehouse receives automatic alerts when lot-tracked items reach their expiration date, ensuring expired inventory is removed before shipment to customers.
Business Challenge:
Manual lot expiration monitoring across hundreds of SKUs
Risk of shipping expired goods (compliance violations, customer safety)
Warehouse space consumed by obsolete inventory
Regulatory requirements for lot disposition documentation
Measurable Business Value:
Compliance: 100% lot expiration tracking (FDA/industry requirements)
Customer Safety: Zero expired product shipments (down from 2-3/year)
Warehouse Optimization: Recovered 150 sq ft storage space
Cost Avoidance: Prevented \ in potential recalls/claims
Workflow Configuration
Workflow Setup:
Trigger Configuration (Initiated By):
Task: Remove Expired Inventory
Task Configuration:
Status Rule - Completion (Line 10000):
BC Consultant Best Practices
Lot No. Information Table Notes:
Table 6505 only exists when Item Tracking Code configured
Items must have "Lot Nos." enabled
Expiration Date calculation configurable in Item Tracking Code
Consider Job Queue for daily expiration checks vs. OnModify trigger
Alternative Trigger Approach:
Integration with BC Inventory:
Testing the Workflow
Test Procedure:
Key Learning Points
BC Inventory Management Integration:
Lot tracking tables (6505) separate from item master
Expiration dates calculated from manufacture date + shelf life
BC prevents posting of expired lots (can be overridden)
Workflow provides proactive management vs. reactive blocking
Rule Engine Application:
Date comparison: Expiration Date < [TODAY]
Text field existence check: <>' ' (not blank)
Combines scenario filtering with date logic
Disposition Documentation:
Reason Codes track why inventory removed
Item Ledger Entries provide audit trail
Workflow adds formalized review/approval layer
Variations
Variation 1: Near-Expiration Warning:
Variation 2: Multi-Level Escalation:
Variation 3: Automatic Inventory Adjustment:
Troubleshooting
Issue: Workflow not triggering when lot expires.
Solution:
Issue: Multiple workflow entries created for same lot.
Solution:
Example 5: New Customer Onboarding
Business Scenario: Multi-department workflow coordinates customer setup, credit approval, and compliance verification before first sales transaction.
Business Challenge:
Customer data incomplete at first order (causes delays)
Credit terms assigned without proper approval
Tax certificates missing (compliance risk)
No standardized handoff between departments
Measurable Business Value:
Setup Time: Reduced from 5 business days to 2 days (60% improvement)
Data Completeness: 97% of required fields populated (up from 68%)
Credit Control: 100% credit approval compliance (was 78%)
First Order Cycle: Reduced by 3 days average (faster revenue recognition)
Workflow Configuration
Workflow Setup:
Trigger Configuration (Initiated By):
Task 1: Verify Contact Information
Purpose: Secretary ensures all contact fields populated for communication.
Task Configuration:
Status Rule - Completion (Line 10000):
Task 2: Assign Posting Groups
Purpose: Finance assigns GL integration posting groups.
Task Configuration:
Status Rule - Release (Line 9999):
Status Rule - Completion (Line 10000):
Task 3: Credit Review and Approval
Purpose: Finance manager reviews credit application and sets credit limit.
Task Configuration:
Status Rule - Release (Line 9999):
Status Rule - Completion (Line 10000):
Task 4: Assign Salesperson
Purpose: Sales manager assigns account ownership.
Task Configuration:
Status Rule - Release (Line 9999):
Status Rule - Completion (Line 10000):
Task 5: Welcome Call
Purpose: Assigned salesperson makes introductory call to customer.
Task Configuration:
Status Rule - Release (Line 9999):
Status Rule - Completion (Line 10000):
BC Consultant Best Practices
Customer Table Considerations:
Posting Group Assignment Logic:
Credit Limit Management:
Interaction Integration:
Testing the Workflow
Complete Test Procedure:
Key Learning Points
Sequential Workflow Pattern:
Tasks execute in strict order (1 2 3 4 5)
Each task waits for previous task completion
Line 9999 (Release condition) checks prior task Status = Completed
Enforces business process discipline
Mixed Activity Types:
Manual with auto-complete: Tasks 1, 2, 4 (data-driven completion)
Conditional: Task 3 (requires explicit approval decision)
Interaction: Task 5 (CRM integration, auto-complete after wizard)
Dynamic Field Assignment:
Task 5 uses placeholder [18:29] for Assigned to
Salesperson determined by Task 4 completion
Demonstrates dynamic workflow routing based on data
BC Module Integration:
Customer Master Data: Core customer management
Posting Groups: G/L integration for financial reporting
CRM: Interaction logging for relationship tracking
Credit Management: AR control and risk mitigation
Rule Engine Validation Patterns:
Multiple field validation (AND logic): All conditions must be TRUE
Workflow entry status checking: Cross-table validation
Text field existence: <> '' (not blank)
Scenario filtering: [18:1] ensures same customer context
Variations
Variation 1: Industry-Specific Tasks:
Variation 2: Credit Limit Thresholds:
Variation 3: Team-Based Processing:
Variation 4: Parallel Tasks:
Troubleshooting
Issue: Task 1 doesn't auto-complete after filling all fields.
Solution:
Issue: Task 2 doesn't release when Task 1 completes.
Solution:
Issue: Interaction wizard doesn't open for Task 5.
Solution:
Issue: Workflow creates duplicate tasks for same customer.
Solution:
This completes Example 5 with comprehensive BC consultant-level detail. Continuing with Examples 6-20...
0 Code Advanced Workflow
>
Chapter 01 : Introduction and Overview
>
Chapter 02: Getting Started
>
Chapter 03: Core Concepts and Terminology
>
Chapter 04: Tutorial - Your First Workflow
>
Chapter 05: Configuring Workflow Triggers (Initiated By Rules)
>
Chapter 06: Designing and Configuring Workflow Tasks
>
Chapter 07: Configuring Status Rules and Task Logic
>
Chapter 08: Managing Teams and Users
>
Chapter 09: Processing Workflow Tasks
>
Chapter 10: Monitoring and Reporting
>
Chapter 11: Advanced Placeholder Techniques
>
Chapter 12: Complex Workflow Patterns
>
Chapter 13: Integration with Business Central
>
Chapter 14: Troubleshooting and Maintenance
>
Chapter 15: Field and Table Reference
>
Chapter 16: Formula Reference
>
Chapter 17: Glossary and Index
>
Chapter 18: 20 Real-World Workflow Examples
Related Posts
Chapter 18: 20 Real-World Workflow Examples
Chapter Purpose: This chapter provides 20 complete, production-ready workflow implementations spanning multiple Business Central modules. Each example includes business context, measurable benefits, complete configuration steps, testing procedures, and troubleshooting guidance.
Chapter 17: Glossary and Index
Activity Type: Classification of how a workflow task is processed. Options: Manual, Conditional, Interaction, Job Queue, Approval Workflow. Assigned to: User ID who should process the task. Supports placeholders for dynamic assignment. Assigned to Team: Team code for team-assigned tasks. Users see tasks for their teams in "My Teams" view.
Chapter 16: Formula Reference
Chapter Objectives: Master date formula syntax Understand comparison operators Learn validation formula patterns Apply formulas to real scenarios
