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:

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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:

  1. User Action: Accounting clerk opens vendor card and fills contact fields

  2. Trigger Event: Each field update fires OnModify event on Vendor table

  3. Validation Check: Rule Engine evaluates all 7 conditions

  4. Status Update: When all conditions TRUE, Status field in WorkFlow Entry changes from "Released" to "Completed"

  5. User Feedback: Task disappears from user's "My Tasks" list

  6. 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:

  1. Initial State: When workflow created, Task 2 Status = "Open" (invisible to users)

  2. Task 1 Completes: User fills contact fields, Task 1 auto-completes

  3. Trigger Event: Task 1 Status change fires validation on all workflow entries

  4. Validation Check: Rule Engine finds Task 2 entry, checks if Task 1 is Completed

  5. Status Update: Task 2 Status changes from "Open" to "Released"

  6. User Visibility: Task 2 now appears in AP-CLERK's "My Tasks" list

  7. 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:

  1. Receive Task Assignment: AP Clerk sees task in "My Tasks" list

  2. Request Tax Form: Email vendor requesting W-9 or W-8 form

  3. Receive Form: Vendor returns completed PDF via email or fax

  4. 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

  5. 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

  6. 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

  7. 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:

W9_[VendorNo]_[Year].pdf
Example: W9_V00001_2025.pdf

W8BEN_[VendorNo]_[Year]

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:

  1. User Action: Finance controller opens vendor card

  2. Field Assignment: Assigns Vendor Posting Group = "DOMESTIC"

  3. Trigger Event: OnValidate event fires, Rule Engine evaluates conditions

  4. Partial Match: Only 1 of 3 conditions met - task remains Released

  5. Continued Assignment: Controller assigns Gen. Bus. Posting Group = "DOMESTIC"

  6. Still Incomplete: 2 of 3 conditions met - task still Released

  7. Final Assignment: Controller assigns VAT Bus. Posting Group = "DOMESTIC"

  8. All Conditions Met: All 3 conditions now TRUE

  9. Status Update: Task Status automatically changes to "Completed"

  10. 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:

  1. Navigate to Vendor Card: Open vendor for onboarding

  2. Attach Contract:

    • Action → Attach → Select Document

    • Browse to vendor contract PDF

    • File Name: Contract_[VendorNo]_[Year].pdf

    • Document Type: Contract (if using document type field)

    • Click OK

  3. Attach W-9 Form:

    • Action → Attach → Select Document

    • Browse to completed W-9 PDF

    • File Name: W9_[VendorNo]_2025.pdf

    • Document Type: Tax Form

    • Click OK

  4. Verify Attachments:

    • Action → Attachments → View attached files

    • Confirm both documents present and readable

  5. 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:

  1. Notification: Manager receives "New Task Assigned" notification

  2. Task Review: Manager opens My Tasks, sees MGR-APPROVE

  3. 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)

  4. Approval Decision:

    • Navigate to QUA WorkFlow Entries

    • Locate MGR-APPROVE task (Status = Released)

    • Action → Process

    • Confirmation Dialog Appears:

      Approve vendor setup for ACME Industrial Supplies?
      
      Review Checklist:
      ☑ Contact information complete
      ☑ Tax documentation attached
      ☑ Posting groups assigned
      ☑ Payment terms configured
      ☑ Contract documents attached
      
      [Yes]  [No]
    • Manager clicks Yes → Task Status = Completed

    • Manager clicks No → Task remains Released (needs correction)

  5. 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:

  1. Workflow Header Status: Changes from "Released" to "Completed"

  2. Completion Timestamp: "Closed" field populated with date/time

  3. 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 purchasing

  • Body: 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:

  1. 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)

  2. Configuration Verification:

    
    
  3. Test Documents Preparation:

    • Sample W-9 form PDF (download from IRS.gov)

    • Sample vendor contract PDF (create generic template)

    • Save both to accessible folder

  4. 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

  1. Navigate: Search → Vendors → New

  2. Enter values:

    • No.: TEST-V-001 (or allow auto-numbering)

    • Name: Test Vendor Company LLC

    • Tab out of Name field (triggers OnInsert)

  3. Expected Result:

    • Vendor card saves successfully

    • Background validation fires (may not see visible confirmation)

  4. Switch to QUA WorkFlow Entries page

  5. Action → Refresh (F5)

  6. Apply filter: Workflow No. = VENDOR-ONBOARD

  7. 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:

Issue: No workflow entries created after vendor insert

Checks:
1. Verify workflow enabled:
   - QUA Workflow Setup → Enabled = Yes
2. Check validation set:
   - Search: QUA_Validation Sets
   - Filter: ID = VENDOR-ONBOARD
   - Verify: Enabled = Yes
3. Check trigger validation:
   - Search: QUA_Validations
   - Filter: Validation Set ID = VENDOR-ONBOARD, Line No. = 0
   - Verify: Trigger String = [23:0]

Step 2: Complete Task 1 (Contact Information)

  1. Return to Vendor Card (TEST-V-001)

  2. Navigate to General FastTab

  3. 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

  4. Tab out of Contact field (triggers OnModify validation)

  5. Expected Result:

    • No visible confirmation (background process)

    • Task 1 should auto-complete (verify next step)

  6. Switch to QUA WorkFlow Entries

  7. Action → Refresh

  8. Locate CONTACT-INFO task

  9. 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

  1. In QUA WorkFlow Entries, locate TAX-DOCS task

  2. 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

  3. 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)

  1. Simulate Document Collection:

    • In real scenario: Email vendor requesting W-9

    • In test: Use prepared sample W-9 PDF

  2. Return to Vendor Card (TEST-V-001)

  3. Action → Attach (or Related → Attachments)

  4. Attachments Page Opens:

    • Action → New (if using list page)

    • OR Click Attach button (if using document attachment card)

  5. 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

  6. Verify Attachment:

    • Document appears in attachments list

    • Can preview/open to verify readability

  7. Complete Task Manually:

    • Switch to QUA WorkFlow Entries

    • Locate TAX-DOCS task (Status = Released)

    • Select the task line

    • Action → Process (or click Process button)

  8. 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

  1. In QUA WorkFlow Entries, locate POSTING-GROUPS task

  2. Expected Result:

    • Status: Released (auto-released when Task 2 completed)

    • Assigned to: FIN-CONTROLLER

  3. Return to Vendor Card (TEST-V-001)

  4. Navigate to Invoicing FastTab

  5. 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)

  6. Expected Result:

    • Task automatically completes

    • No user action required (no Process button click)

  7. Switch to QUA WorkFlow Entries → Refresh

  8. 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)

  1. Verify PAYMENT-TERMS task auto-released (Status = Released)

  2. Return to Vendor Card (TEST-V-001)

  3. Navigate to Payments FastTab

  4. 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

  5. Expected Result:

    • Task auto-completes immediately

  6. Verify in QUA WorkFlow Entries:

    • PAYMENT-TERMS Status: Completed

Step 7: Complete Task 5 (Attach Documents)

  1. Verify ATTACH-DOCS task auto-released (Status = Released)

  2. Return to Vendor Card (TEST-V-001)

  3. Action → Attach

  4. Attach Vendor Contract:

    • Browse to sample contract PDF

    • File Name: Contract_TEST-V-001_2025.pdf

    • Document Type: Contract

    • Click Open/OK

  5. Verify Attachments List:

    • Should now show 2 documents:

      • W9_TEST-V-001_2025.pdf

      • Contract_TEST-V-001_2025.pdf

  6. Complete Task Manually:

    • Switch to QUA WorkFlow Entries

    • Locate ATTACH-DOCS task

    • Action → Process

  7. Expected Result:

    • Task Status: Completed

Step 8: Complete Task 6 (Manager Approval) - Conditional Activity

  1. Verify MGR-APPROVE task auto-released (Status = Released)

  2. 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 ✓

  3. Switch to QUA WorkFlow Entries

  4. Locate MGR-APPROVE task (Status = Released)

  5. Action → Process

  6. Expected Result - Confirmation Dialog Appears:

    ┌─────────────────────────────────────────┐
    │  Approve Vendor Setup?                  │
    ├─────────────────────────────────────────┤
    │                                         │
    │  Vendor: TEST-V-001                     │
    │  Name: Test Vendor Company LLC          │
    │                                         │
    │  Approve vendor setup?                  │
    │                                         │
    │          [Yes]        [No]
    
    
  7. Click Yes

  8. 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

  1. In QUA WorkFlow Entries, filter to Entry No. = [Header Entry No.]

  2. 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]

  3. 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)

  4. 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

  1. 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

  2. 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

  3. 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

  1. Create another test vendor: TEST-V-002

  2. Immediately try to create purchase order:

    • New Purchase Order

    • Buy-from Vendor No.: TEST-V-002

  3. Expected Result:

    • No blocking error (workflow is notification/process, not approval-blocking)

    • However, posting may fail if posting groups not assigned

  4. Try to post invoice:

    • Add purchase line (Item, Quantity, Price)

    • Action → Post

  5. 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

  1. Locate TEST-V-002 workflow

  2. Try to complete Task 3 (POSTING-GROUPS) before Task 1 and 2

  3. 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)

  1. Modify Task 1 to use team assignment:

    • QUA Workflow Setup → Tasks → CONTACT-INFO

    • Assigned to: blank

    • Assigned to Team: ACCOUNTING-TEAM

  2. 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)

  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)

  4. 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

  1. Simulate overdue task:

    • Create vendor: TEST-V-004

    • Do not complete Task 1

    • Modify system date forward +2 days (or wait 2 days)

  2. Check overdue cues:

    • QUA Workflows Role Center

    • Expected: Overdue Tasks cue shows 1

  3. 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

  1. Force validation error:

    • Modify QUA Status rule Line 10000 for CONTACT-INFO

    • Change Field No. 102 to invalid field 999999

    • Save

  2. Create vendor: TEST-V-005

  3. Fill contact fields

  4. Task won't auto-complete (validation error)

  5. Check validation log:

    • Search: QUA Validation Log

    • Filter: Validation Set ID = VENDOR-ONBOARD-CONTACT-INFO

    • Expected: Error entry showing "Field 999999 not found"

  6. 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

  1. Delete Test Vendors (or keep for reference):

    • TEST-V-001 through TEST-V-005

  2. 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: ✓

  3. 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:

[DocumentType]_[VendorNo]_[Year/Date]

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:

Query: Find workflows where same user completed setup and approval
SELECT * FROM [QUA WorkFlow Entries]
WHERE [Workflow No.] = 'VENDOR-ONBOARD'
  AND [Workflow Step Code] IN ('CONTACT-INFO', 'MGR-APPROVE')
  AND [Completed by] = [Same User ID]

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:

Slow: SELECT * FROM WorkFlow Entries WHERE [Assigned to] = 'USER1'
Fast: SELECT * FROM WorkFlow Entries WHERE [Assigned to] = 'USER1' AND [Status]

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 workflow

  • Condition 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:

Description: "Assign posting groups for [23:2] - Vendor Type: [23:7700]

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 end

  • CW = Current Week end

  • CQ = 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)

Code: MGR-APPROVE-STD
Description: Manager approval for [23:2]

Line 9999 (Release Condition):

Scenario: Filter to current vendor [23:1]

Task 6B: Director Approval (Special Terms)

Code: DIR-APPROVE-SPECIAL
Description: Director approval for [23:2] (Special Payment Terms: [23:27]

Line 9999 (Release Condition):

Scenario: Filter to current vendor [23:1]

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

Code: OFAC-SCREEN
Description: Screen [23:2]

Line 9999 (Release Condition):


Task 2B: Tax Treaty Validation

Code: TAX-TREATY
Description: Validate tax treaty benefits for [23:2] in country [23:90]

Line 9999 (Release Condition):


Task 2C: Wire Transfer Banking Setup

Code: WIRE-SETUP
Description: Configure international wire transfer for [23:2]

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

Assigned to: [blank]

Task 2: Tax Documentation

Assigned to: [blank]

Task 5: Document Attachment

Assigned to: [blank]

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:

Line 10002: Email Escalation Notice
Action: Email
Recipient: PURCHASE-DIR
Subject: Escalated Approval Required for [23:2]
Body: Vendor [23:1] onboarding requires your approval. Original assignee: PURCHASE-MGR. Days overdue: [Calculated]

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:

Validation Set: VENDOR-DUPLICATE-CHECK
Trigger: [23:0]

Condition (Check Similar Names):


BC Limitation: BC doesn't have built-in fuzzy matching; requires custom codeunit.

Alternative Simple Check:

Condition: Exact name match
Table: Vendor (23)
Filter: Name = [23:2] AND No. <> [23:1]

Warning Message:

"Vendor with name [23:2] already exists (Vendor No.: [ExistingVendorNo]

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:

  1. Verify Workflow Enabled:

    
    
  2. Verify Validation Set Enabled:

    
    
  3. Verify Trigger Validation Exists and Enabled:

    Navigate: QUA_Validations
    Filter: Validation Set ID = VENDOR-ONBOARD
    Filter: Line No. = 0
    Check:
      - Trigger String = [23:0]
    
    
  4. Check Validation Log for Errors:

    
    
  5. 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:

  1. Verify All Fields Actually Populated:

    
    

    Common Miss: Country/Region Code (dropdown easily skipped)

  2. Check Validation Log:

    
    

    Example error: "Field 102 filter <>'' failed: value is ''"

  3. Verify Field Numbers Match BC Version:

    
    
  4. Manual Trigger Attempt:

    
    
  5. 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:

  1. Verify Task 1 Actually Completed (not just appears complete):

    
    
  2. Check Line 9999 Validation for Task 2:

    
    
  3. Check Validation Condition:

    Navigate: QUA_Validations
    Filter: Validation Set ID = VENDOR-ONBOARD-TAX-DOCS
    Filter: Line No. = 9999
    Check Scenario:
      - Filters to correct Workflow No.
      - Filters to CONTACT-INFO task
      - Filters to current vendor [23:1]
    
    
  4. 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

  1. 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:

  1. Check Task Configuration:

    
    
  2. 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:

  1. Check Trigger Type:

    
    
  2. Check for Multiple Trigger Validations:

    Navigate: QUA_Validations
    Filter: Validation Set ID = VENDOR-ONBOARD
    Filter: Trigger Type = *Insert*
    
    
  3. 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:

  1. Verify User ID:

    
    
  2. Check Task Assignment:

    
    
  3. 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:

  1. Verify Vendor Card Shows Posting Groups:

    
    
  2. Check Field Update Occurred:

    
    
  3. Check Purchase Order Logic:

    
    
  4. 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:

Code: MGR-APPROVE
Description: Final approval for vendor [23:2]
Status: Open (waits for Task 3)
Assigned to: PURCHASE-MGR
Due Date: [TODAY]+4D
Critical Date: [TODAY]

Status Rule - Release (Line 9999):

Description: Release when contract attached
Active: Yes

Validation Formula:
  [Check Task 3 Status = Completed]

Status Rule - Completion (Line 10000):

Description: Manual approval required
Active: Yes

[No validation formula - requires manager confirmation]

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:

Add conditional branching:
  Task 4A: Supervisor Approval (Payment Terms <= Net 30)
    Line 9999: Release if [23:54] <= 30D
    
  Task 4B: Manager Approval (Payment Terms > Net 30)
    Line 9999: Release if [23:54]

Variation 2: International Vendor Additional Tasks:

Add Task 5: Tax Documentation
  Description: Attach W-8 or W-9 form for [23:2]

Variation 3: Team-Based Assignment:

Change Task 1 assignment:
  Assigned to: [blank]

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:

  1. 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)

  2. 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

  3. 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")

  4. 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)

  5. 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

[27:54]

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

>0

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:

Trigger String: [27:54]
Result: Triggers ONLY when Inventory field changes

Without field-specific trigger:
  Trigger String: [27:0] (any field change)
  Problem: Fires when Description changes, Price changes, etc.
  Impact: Unnecessary validation checks (performance)
  
With field-specific trigger:
  Trigger String: [27:54]

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:

Static: "CRITICAL: Item inventory at units (Reorder Point: )"
Dynamic: "CRITICAL: Item 1000 Touring Bike inventory at 35 units (Reorder Point: 50)"

Placeholder [27:3]: Item Description field
Placeholder [27:54]: Current Inventory quantity
Placeholder [27:5718]

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:

  1. 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

  2. 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)

  3. 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

  4. 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:

  1. 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

  2. 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)

  3. 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

  4. 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?

  5. Take Action:

    Option A: Create Purchase Order (most common):

    Navigate: Purchase Orders → New
    Vendor No.: [From Item Card Field 99]
    Add Line:
      Type: Item
      No.: [Critical item number]
      Quantity: [From Item Card Field 5719 - Reorder Quantity]
      Expected Receipt Date: TODAY + [Lead Time]
    
    

    Option B: Adjust Reorder Point (if inappropriate):

    
    

    Option C: Initiate Transfer (multi-location):

    
    
  6. 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:

Query: Average response time for critical stock alerts
SELECT AVG(DATEDIFF(hour, [Created at], [Completed at]))
FROM [QUA WorkFlow Entries]
WHERE [Workflow No.] = 'INVENTORY-CRITICAL'
  AND [Status]

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:

Workflow: INVENTORY-CRITICAL-SKU
Table No.: 5700 (Stockkeeping Unit)
Task Assignment: Use placeholder [5700:2]

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

Custom Status Rule Line 10001:
  Description: Auto-create draft purchase order
  Action: Custom codeunit
  
Codeunit Logic:
  1. Read Item No. from workflow context
  2. Read Reorder Quantity from Item Card (Field 5719)
  3. Read Vendor No. from Item Card (Field 99)
  4. Create Purchase Header:
     - Document Type: Order
     - Buy-from Vendor No.: [From Item]
  5. Create Purchase Line:
     - Type: Item
     - No.: [Critical Item]
     - Quantity: [Reorder Quantity]

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:

Condition 3: No Active Workflow Exists
  Table ID: 72777606 (WorkFlow Entries)
  Field No.: 3 (Workflow No.)
  Filter String: INVENTORY-CRITICAL
  
  Field No.: 14 (Source Primary Key Value)
  Filter String: [27:1]

Solution 2: Close Old Workflows Automatically:


5. Integration with Vendor Lead Times

Enhanced Description with Lead Time Context:

Description: CRITICAL: Item [27:3] at [27:54] units (Reorder: [27:5718]) - Vendor [27:99] Lead Time [27:5505]

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:

Current: Due Date = +1D (review within 1 day)

Enhanced: Due Date = TODAY + [Lead Time] - [Safety Stock Days]

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:

Navigate: QUALIA Business Rules → Workflow → Validation Sets List
Code: INVENTORY-CRITICAL
Status: Active
Table No.: 27 (Item)
Trigger: OnModify [27:54]

Rule Verification:
  Condition 1: Field 54 (Inventory) < Field 5718 (Reorder Point) - LINKED TABLE COMPARISON
  Condition 2: Field 5718 (Reorder Point) > 0
  Logic: AND

Task Verification:
  Code: REVIEW-STOCK
  Description: "Critical stock alert: [27:3] has only [27:54] units (reorder point: [27:5718]

4. Initial Inventory Setup:


Test Execution Steps
Step 1: Verify Initial State (No Workflow Exists)

Action: Before triggering workflow, confirm starting conditions.

Verification Points:

  1. Item Inventory Status:


  1. No Active Workflow:


  1. 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:

Trigger: OnModify [27:54]

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:

Navigate: QUALIA Business Rules → Workflow → Validation Log

Filter/Search:
  Table No.: 27
  Record ID: TEST-ITEM-001
  Workflow Code: INVENTORY-CRITICAL
  Task Code: REVIEW-STOCK

Expected Entry:
  Status: Released (ready for processing)
  Creation Date/Time: TODAY, [exact time of adjustment posting]

Verification Point 2: Linked Table Comparison Captured:


Verification Point 3: Audit Trail Complete:

Workflow Entry FactBox:
  Created By: SYSTEM
  Created Date: [timestamp]

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:

Navigate: QUALIA Business Rules → Workflow → Validation Log
Open: REVIEW-STOCK task for TEST-ITEM-001

Description Field:
  Template: "Critical stock alert: [27:3] has only [27:54] units (reorder point: [27:5718]). Immediate action required."
  
  Expected Resolved Description:
  "Critical stock alert: Widget Type A (Test Item) has only 40 units (reorder point: 50). Immediate action required."

Placeholder Breakdown:
  [27:3] → Field 3 (Description) → "Widget Type A (Test Item)"
  [27:54] → Field 54 (Inventory) → "40"
  [27:5718]

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:

1. Open Task Details:
   Navigate: My Tasks → REVIEW-STOCK for TEST-ITEM-001
   Click: View Source Record (opens Item card)

2. Review Item Information:
   Current Inventory: 40 units
   Reorder Point: 50 units
   Reorder Quantity: 200 units
   Lead Time: 7 days
   Vendor: [Default vendor from Item Vendor Catalog]

Manager Documentation (in workflow task notes):

Navigate: Workflow Task → Notes/Comments field
Add Comment:
  "Reviewed TEST-ITEM-001. Current inventory 40 units, daily usage ~6 units.
   Stockout risk in 6-7 days. Lead time 7 days. Creating PO for 200 units
   from Vendor V001. Expected receipt: [TODAY + 7 days]

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:

Navigate: Purchase Orders → +New (or use "New" action from workflow task)

Header:
  Vendor: V001 (or default vendor for TEST-ITEM-001)
  Order Date: TODAY
  Expected Receipt Date: TODAY + 7 days (based on lead time)
  Document No.: PO-12345 (auto-assigned)

Lines:
  Type: Item
  No.: TEST-ITEM-001
  Description: Widget Type A (Test Item) [auto-filled]
  Quantity: 200 units (equals Reorder Quantity)
  Direct Unit Cost: $25.00 [auto-filled from item]

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:

Navigate: My Tasks → REVIEW-STOCK for TEST-ITEM-001
Click: "Process" or "Complete Task" button

Completion Dialog (if configured):
  Action Taken: [Dropdown]
    - Purchase Order Created (PO-12345)
    - Reorder Point Adjusted
    - Transfer Initiated
    - Stockout Accepted
  Comments: "Created PO-12345 for 200 units. Expected receipt: [date]."
  Completion Date: TODAY [auto-filled]
  Completion Time: [current time]

System Actions:

1. Status Update:
   Old Status: Released
   New Status: Completed
   Completed By: PURCHASE-MGR
   Completed Date/Time: [timestamp]

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:

Navigate: QUALIA Business Rules → Workflow → Validation Log
Filter: Table No. = 27 AND Record ID = TEST-ITEM-001

Expected:
  Status: Completed
  Created Date: [original creation timestamp]
  Completed Date: [completion timestamp just captured]
  Assigned User: PURCHASE-MGR
  Completed By: PURCHASE-MGR
  Duration: [time between creation and completion]

Verification Point 2: Response Time Calculation:


Verification Point 3: Audit Trail Completeness:

Workflow Entry → History/Audit Tab:
  Event 1: Created by SYSTEM at 10:15 AM
  Event 2: Status changed to Released at 10:15 AM
  Event 3: Task assigned to PURCHASE-MGR at 10:15 AM
  Event 4: Comments added by PURCHASE-MGR at 10:55 AM
  Event 5: Completed by PURCHASE-MGR at 11:00 AM

Comments Captured:
  "Created PO-12345 for 200 units. Expected receipt: [date]

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:

    1. Previous workflow deleted/archived, OR

    2. 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:

    IF Workflow Entry EXISTS WHERE (Table No. = 27 AND Record ID = [Item No.] AND Status IN [Released, Completed]
    
    
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:

Setup:
  Navigate: Validation Sets → INVENTORY-CRITICAL → Tasks → REVIEW-STOCK
  Modify Description:
    Change: "Critical stock alert: [27:3] has only [27:54] units (reorder point: [27:5718])..."
    To: "Critical stock alert: [27:3] has only [27:99999] units (reorder point: [27:5718])..."
    (Field 99999 does not exist in Item table)

Test Action:
  Reduce inventory below reorder point for new test item

Expected Result:
  Workflow Created: YES (workflow creation not blocked)
  Description Resolution: PARTIAL FAILURE
    Resolved: [27:3] → "Widget Type A"
    Resolved: [27:5718] → "50"
    Failed: [27:99999] → Shows as "[27:99999]

Error Test 2: Invalid Condition (Field Does Not Exist):


Error Test 3: Circular Reference in Linked Table Comparison:


Verification: Validation Log Error Details:

Navigate: QUALIA Business Rules → Workflow → Validation Log → Errors Tab

Expected Error Log Entries:
  Entry 1: Placeholder Resolution Warning (Error Test 1)
    Table No.: 27
    Record ID: [Test Item]
    Error Type: Placeholder Resolution
    Error Details: "Field 99999 not found in Table 27 (Item)"
    Timestamp: [when workflow created]
    Resolution: Fix placeholder in task description
  
  Entry 2: Condition Evaluation Error (Error Test 2)
    Table No.: 27
    Record ID: [Test Item]
    Error Type: Condition Evaluation
    Error Details: "Field 99999 not found in Table 27"
    Timestamp: [when trigger fired]
    Resolution: Fix condition to use valid field number
  
  Entry 3: Logic Error (Error Test 3)
    Table No.: 27
    Workflow Code: INVENTORY-CRITICAL
    Error Type: Condition Logic
    Error Details: "Circular or contradictory conditions"
    Timestamp: [when trigger fired]

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 Summary Report:

Test Date: [TODAY]
Tester: [Your Name]
Workflow: INVENTORY-CRITICAL (Critical Stock Notification)
Environment: [Test/Production]

Test Results:
  Total Test Steps: 16
  Passed: [count]
  Failed: [count]
  Warnings: [count]

Key Findings:
  1. Workflow triggers correctly when inventory falls below reorder point
  2. Linked table comparison (Inventory < Reorder Point) works as expected
  3. Placeholder resolution functional for all three placeholders
  4. Duplicate prevention effective (no duplicate workflows during testing)
  5. Performance acceptable (< 1 second per workflow creation)
  6. Edge cases handled correctly (boundary conditions, zero reorder point, etc.)
  7. Validation log captures errors appropriately

Issues Identified:
  [List any issues encountered during testing]

Recommendations:
  1. Monitor response time in production (target: < 6 hours)
  2. Review duplicate prevention logic if high-volume environments experience issues
  3. Consider performance optimization if processing > 100 items simultaneously
  4. Train users on workflow task completion process

Sign-off:
  Tester: [Name], [Date]
  Reviewer: [Name], [Date]
  Approval: [Name], [Date]
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:

Condition Type: Linked Table Comparison
Left Operand: Field [FieldNo1] (e.g., 54 for Inventory)
Operator: <, >, =, <=, >=, <>
Right Operand: Field [FieldNo2]

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:

  1. Inventory Management: Inventory < Reorder Point (this example)

  2. Credit Management: Customer Balance > Credit Limit × 0.90

  3. Budget Monitoring: Actual Amount > Budget Amount

  4. Project Management: Actual Hours > Estimated Hours

  5. Pricing Validation: Unit Price < Minimum Price

  6. 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:

  1. Field-Specific Triggers:

    • Use OnModify [TableNo:FieldNo] to monitor specific field changes

    • Example: OnModify [27:54] only fires when Inventory field changes, not when Description or Price changes

    • Performance Benefit: Reduces unnecessary trigger evaluations (Inventory field changes less frequently than other fields)

  2. 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

  3. 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)

  4. 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:

Standard OnModify Trigger:
  Trigger: OnModify [27]
  Fires: EVERY time ANY field in Item table changes
  Frequency: 50+ times per day per item (Description, Price, Vendor, Location, etc.)
  Performance Impact: HIGH (evaluates conditions 50+ times even if Inventory unchanged)

Field-Specific OnModify Trigger:
  Trigger: OnModify [27:54]

How to Implement:

Navigate: QUALIA Business Rules → Workflow → Validation Sets → INVENTORY-CRITICAL
Trigger Configuration:
  Trigger Type: OnModify
  Table No.: 27 (Item)
  Field No.: 54 (Inventory) ← Specify field number
  
Syntax: OnModify [27:54]
  [27] = Table 27 (Item)
  [54]

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):

Trigger: OnModify [27:54] (Inventory field change)
Condition: Inventory < Reorder Point AND Reorder Point >

Pattern 2: Stockout Alert (Reactive):

Trigger: OnModify [27:54]

Pattern 3: Overstock Alert:

Trigger: OnModify [27:54]

Pattern 4: Slow-Moving Inventory:


Pattern 5: Multi-Location Transfer:

Trigger: OnModify [27:54]
Condition: Inventory < Reorder Point at Location A AND Inventory >

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:

Description Template:
  "Critical stock alert: [27:3] has only [27:54] units (reorder point: [27:5718]). Immediate action required."

Resolved Description (at runtime):
  "Critical stock alert: Widget Type A (Test Item) has only 40 units (reorder point: 50). Immediate action required."

Placeholders:
  [27:3] → Field 3 (Description) → "Widget Type A (Test Item)"
  [27:54] → Field 54 (Inventory) → "40"
  [27:5718]

Advantages of Placeholders:

  1. Context-Rich Notifications: Manager sees exact item name, current quantity, and threshold in notification

  2. No Manual Data Entry: Values pulled automatically from record

  3. Always Current: Placeholders resolve at workflow creation time, capturing exact values when alert triggered

  4. 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):

Description: "Critical: [27:3] at [27:54] units ([Formula:((54/5718)*100)]

Technique 2: Multi-Table Placeholders (Cross-Table References):

Description: "Critical: [27:3] (Vendor: [23:2]) has [27:54]

Technique 3: Date Formula Placeholders:

Description: "Stock critical. Lead time [27:5718] days. Stockout expected: [Formula:TODAY+5718]

Technique 4: Conditional Text Placeholders:

Description: "Priority: [IF:27:54<20,'URGENT','Normal']. Item [27:3] at [27:54]

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:

Trigger: OnModify [27:54]
Conditions:
  1. Inventory < Reorder Point (triggers alert)
  2. Reorder Point > 0 (item has reorder management)
  3. NO EXISTING WORKFLOW with Status = Released for this Item No. ← DUPLICATE PREVENTION

Implementation (Pseudo-Code):
  IF Inventory < Reorder Point THEN
    IF NOT WorkflowExists(Table=27, RecordID=[Item No.]

Method 2: Workflow Completion Resets Alert:


Method 3: Time-Based Duplicate Prevention:

Condition: No workflow created for this item in last 24 hours

Use Case: High-volume environments where inventory fluctuates rapidly
  - Prevents workflow spam during busy sales days
  - Manager gets ONE alert per day maximum
  - Review workflows daily, not hourly

Configuration:
  Condition: Inventory < Reorder Point
    AND Reorder Point >

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:

BC Stockkeeping Unit (SKU):
  Table: 5700 (Stockkeeping Unit)
  Purpose: Item planning settings per location
  
  Example:
    Item: Widget A
    Location: MAIN → Reorder Point = 50, Reorder Qty = 200
    Location: WAREHOUSE → Reorder Point = 100, Reorder Qty = 500
    Location: RETAIL → Reorder Point = 20, Reorder Qty = 50

QUALIA Workflow Enhancement:
  Trigger: OnModify [5700:54]

Integration 4: Vendor Lead Time Automation:

BC Vendor Lead Time:
  Navigate: Item Card → Replenishment FastTab → Lead Time Calculation
  Value: 7D (7 days default for all vendors)

Item Vendor Catalog:
  Navigate: Item Card → Vendors (Related Information)
  Table: 99 (Item Vendor)
  Fields:
    - Vendor No.: V001
    - Lead Time: 5D (specific to this vendor)
    - Vendor Item No.: ABC-123

QUALIA Workflow Enhancement:
  Description: "Critical: [27:3] at [27:54] units. Lead time: [99:5] days. Order from [23:2]

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:

Navigate: QUALIA Business Rules → Workflow → Validation Sets → INVENTORY-CRITICAL → Tasks

Task 2: ESCALATE-STOCK
  Description: "ESCALATED: [27:3] has been critical ([27:54] units) for >24 hours. Original assignee: [User:PURCHASE-MGR]

Step 2: Add Time-Based Status Rule:


Step 3: Enhanced Placeholder for Escalation:

Escalation Task Description Includes:
  - Original item details: [27:3] (item name), [27:54] (current inventory)
  - Original assignee: [User:PURCHASE-MGR] (who missed deadline)
  - Age: [Workflow:Age] hours overdue
  - Stockout risk: [Formula:54/DailyUsage]

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:

Description Template:
  "Critical stock at MAIN: [27:3] has only [27:54] units (reorder: [27:5718]). 
   
   Other Locations:
   - WAREHOUSE: [27:54@WAREHOUSE] units (excess: [Formula:54@WAREHOUSE-5718@WAREHOUSE])
   - RETAIL: [27:54@RETAIL] units (excess: [Formula:54@RETAIL-5718@RETAIL])
   
   Recommendation: [IF:ExcessExists,'Create Transfer Order','Create Purchase Order']

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:

Workflow 1: INVENTORY-CRITICAL-A (Category A items)
  Trigger: OnModify [27:54]
  Conditions:
    - Inventory < Reorder Point
    - Reorder Point > 0
    - Item Category Code = "A"
  Task:
    - Description: "URGENT - Category A Critical: [27:3]..."
    - Critical Date: TODAY (same-day response required)
    - Assignment: Senior Purchasing Manager (experienced staff)
    - Priority: HIGH

Workflow 2: INVENTORY-CRITICAL-B (Category B items)
  Trigger: OnModify [27:54]
  Conditions:
    - Inventory < Reorder Point
    - Reorder Point > 0
    - Item Category Code = "B"
  Task:
    - Description: "Category B Alert: [27:3]..."
    - Critical Date: TODAY + 2 days (48-hour response acceptable)
    - Assignment: Purchasing Team (any available buyer)
    - Priority: MEDIUM

Workflow 3: INVENTORY-MONITOR-C (Category C items)
  Trigger: Scheduled (Weekly batch report, not OnModify)
  Conditions:
    - Inventory < Reorder Point
    - Item Category Code = "C"
  Task:
    - Description: "Weekly Category C Review: [Count]

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:

Navigate: Validation Sets → INVENTORY-CRITICAL → Tasks → REVIEW-STOCK → Description

Description Template:
  "Critical stock: [27:3] has only [27:54] units (reorder: [27:5718]).
   
   Vendor Information:
   - Vendor: [23:2] ([23:1] - Vendor No.)
   - Contact: [23:5] (Phone: [23:9])
   - Lead Time: [27:5719] days
   - Last PO Date: [LastPODate]
   - Reorder Qty: [27:5720] units
   - Estimated Cost: $[Formula:5720*22] ([27:5720] units × $[27:22]

Step 2: Cross-Table Placeholder Configuration:

Placeholder Syntax: [TableNo:FieldNo@RelatedTable]

Examples:
  [23:2] - Vendor table (23), Field 2 (Name)
    Requires: Item Card has Vendor No. field linking to Vendor table
  
  [23:5] - Vendor table (23), Field 5 (Contact)
  
  [27:5719]

Step 3: Add Quick Actions to Workflow Task:

Task Actions:
  1. "Call Vendor" (opens phone dialer with vendor phone number)
  2. "Email Vendor" (opens email with template: "Request expedited shipment for Item [27:3]

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:

Navigate: Validation Sets → INVENTORY-CRITICAL → Tasks → REVIEW-STOCK → Actions

Custom Action: CREATE-DRAFT-PO
  Trigger: When workflow created (automatic)
  Action Type: Custom Code (AL codeunit)
  Parameters:
    - Item No.: [27:1] (from workflow record)
    - Vendor No.: [27:6] (Vendor No. field from Item)
    - Quantity: [27:5720] (Reorder Quantity from Item)
    - Expected Receipt Date: TODAY + [27:5719] (Lead Time Calculation)
    - Location: [Location where inventory critical]

Step 2: Draft PO Creation Logic (Pseudo-Code):

PROCEDURE CreateDraftPurchaseOrder(ItemNo: Code[20])
VAR
  Item: Record Item;
  Vendor: Record Vendor;
  PurchaseHeader: Record "Purchase Header";
  PurchaseLine: Record "Purchase Line";
BEGIN
  // Get Item details
  Item.GET(ItemNo);
  Vendor.GET(Item."Vendor No.");
  
  // Create Purchase Header
  PurchaseHeader.INIT;
  PurchaseHeader."Document Type" := PurchaseHeader."Document Type"::Order;
  PurchaseHeader."Buy-from Vendor No." := Vendor."No.";
  PurchaseHeader."Order Date" := TODAY;
  PurchaseHeader."Expected Receipt Date" := CALCDATE(Item."Lead Time Calculation", TODAY);
  PurchaseHeader."Workflow Reference" := [Workflow Entry No.]; // Link to workflow
  PurchaseHeader.INSERT(TRUE);
  
  // Create Purchase Line
  PurchaseLine.INIT;
  PurchaseLine."Document Type" := PurchaseHeader."Document Type";
  PurchaseLine."Document No." := PurchaseHeader."No.";
  PurchaseLine.Type := PurchaseLine.Type::Item;
  PurchaseLine."No." := Item."No.";
  PurchaseLine.Quantity := Item."Reorder Quantity";
  PurchaseLine."Direct Unit Cost" := Item."Unit Cost";
  PurchaseLine."Location Code" := [Critical Location]

Step 3: Manager Workflow Task:

Task: REVIEW-STOCK (Enhanced)
  Description: "Critical stock: [27:3] has only [27:54] units (reorder: [27:5718]

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:

Navigate: Validation Sets → INVENTORY-CRITICAL → Rules → Conditions

Enhanced Condition:
  Condition 1: Field 54 (Inventory) < [Field 5718 × Seasonal Multiplier]

Step 3: Description Shows Seasonal Context:

Description Template:
  "Critical stock (SEASONAL): [27:3] has only [27:54] units.
   
   Season: [Season:Code] ([Season:Start Date] to [Season:End Date])
   Base Reorder Point: [27:5718] units
   Seasonal Adjusted: [Formula:5718*Multiplier] units (×[Multiplier])
   
   Recommended Order Qty: [Formula:5720*Multiplier]

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:

Task: REVIEW-CRITICAL-ITEMS-BATCH
  Description: "Daily Critical Stock Report - [Count]

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:

Navigate: Validation Sets → INVENTORY-CRITICAL → Trigger
Check:
  - Trigger Type: OnModify
  - Table No.: 27 (Item)
  - Field No.: 54 (Inventory) ← Must be specified for field-specific trigger
Expected: OnModify [27:54]

Step 3: Verify Conditions:


Step 4: Manual Condition Test:

Navigate: Items → [Problem Item] → Card

Check Current Values:
  Inventory (Field 54): [e.g., 40 units]
  Reorder Point (Field 5718): [e.g., 50 units]

Step 5: Check Validation Log for Errors:

Navigate: QUALIA Business Rules → Workflow → Validation Log → Errors Tab
Filter: Table No. = 27 AND Record ID = [Problem Item No.]

Common Root Causes:

Root Cause 1: Reorder Point = 0 (Not Configured):


Root Cause 2: Wrong Field Number in Trigger:

Problem: Trigger configured for wrong field
Check: Trigger = OnModify [27:5718] (Reorder Point field, not Inventory)
Issue: Trigger only fires when Reorder Point changes, not when Inventory changes
Resolution: Change trigger to OnModify [27:54]

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:

Navigate: QUALIA Business Rules → Workflow → Validation Log
Filter: Table No. = 27 AND Record ID = [Item No.]

Step 2: Analyze Creation Timeline:


Step 3: Check Duplicate Prevention Logic:

Navigate: Validation Sets → INVENTORY-CRITICAL → Rules → Conditions

Look for Duplicate Prevention Condition:
  Condition 3: NOT EXISTS (Workflow Entry WHERE Table No. = 27 AND Record ID = [Item No.] AND Status IN [Released, Completed]

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):

Problem: Trigger configured as OnModify [27] instead of OnModify [27:54]
Issue: Trigger fires when ANY field changes (Description, Price, Vendor, etc.)
Result: Workflow created even if Inventory field didn't change

Diagnosis:
  Navigate: Validation Sets → INVENTORY-CRITICAL → Trigger
  Check: Trigger = OnModify [27] (missing field number)
  
Resolution:
  Edit Trigger: Change to OnModify [27:54]

Root Cause 4: Race Condition in High-Volume Transactions:


Resolution Steps:

Step 1: Implement Duplicate Prevention:

// AL Code for Duplicate Prevention Function
procedure CheckNoExistingWorkflow(TableNo: Integer; RecordID: Code[250]): Boolean
var
    ValidationLog: Record "QUA Validation Log";
begin
    ValidationLog.SETRANGE("Table No.", TableNo);
    ValidationLog.SETRANGE("Record ID", RecordID);
    ValidationLog.SETFILTER(Status, '%1|%2', 
        ValidationLog.Status::Released, 
        ValidationLog.Status::Completed);
    
    // Return TRUE if no existing workflow (allow creation)
    // Return FALSE if workflow exists (block creation)
    exit(ValidationLog.ISEMPTY);
end;

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 name

  • Placeholders like [27:54] remain as literal text, not replaced with values

  • Manager sees unhelpful notification: "Critical stock alert: [27:3] has only [27:54] units..."

Diagnostic Steps:

Step 1: Verify Placeholder Syntax:

Navigate: Validation Sets → INVENTORY-CRITICAL → Tasks → REVIEW-STOCK → Description

Check Placeholder Format:
  Correct: [27:3] (table number : field number)
  Incorrect: [Item:Description] (table name : field name)
  Incorrect: {27:3} (wrong brackets)
  Incorrect: [27-3] (dash instead of colon)

Expected: All placeholders use format [TableNo:FieldNo]

Step 2: Verify Field Numbers Correct:

Item Table (27) Field Reference:
  Field 1: No.
  Field 3: Description
  Field 54: Inventory
  Field 5718: Reorder Point

Check Description Template:
  "[27:3]" should resolve to item description
  "[27:54]" should resolve to inventory quantity
  "[27:5718]

Step 3: Check Placeholder Resolution Configuration:


Step 4: Test Placeholder Resolution Manually:


Common Root Causes:

Root Cause 1: Invalid Field Number:

Problem: Field number doesn't exist in table
Example: [27:99999] (Field 99999 doesn't exist in Item table)

Diagnosis:
  Navigate: Validation Log → Errors Tab
  Error Message: "Placeholder resolution failed: Field 99999 not found in Table 27"

Resolution:
  1. Open field lookup: AL Object Browser → Table 27 (Item) → Fields
  2. Find correct field number (e.g., Field 54 for Inventory)
  3. Edit task description, replace [27:99999] with [27:54]

Root Cause 2: Permissions Issue:

Problem: QUALIA service user lacks permission to read field
Example: Placeholder [27:54] requires Read permission on Inventory field

Diagnosis:
  Navigate: User Setup → QUALIA Service User → Permissions
  Check: Table 27 (Item), Field 54 (Inventory) → Read permission
  If: Permission denied
  Then: Placeholder cannot resolve (shows as [27:54]

Root Cause 3: Record ID Mismatch:


Root Cause 4: FlowField or CalcField Not Evaluated:


Root Cause 5: Cross-Table Placeholders Not Supported:

Problem: Attempting to use placeholder for related table field
Example: [23:2] for Vendor Name (Table 23), but workflow on Item table (27)

Diagnosis:
  Description: "Critical: [27:3] from vendor [23:2]"
  Issue: [23:2] requires cross-table lookup (Item → Vendor)
  Current Support: QUALIA may only support same-table placeholders

Resolution:
  Option 1: Check QUALIA documentation for cross-table placeholder support
  Option 2: Use only Item table fields: "[27:6]

Resolution Verification:

After fixing placeholder issue:
  1. Create new test workflow (reduce inventory below reorder point)
  2. Navigate: Validation Log → Find new workflow entry
  3. Check description field
  4. Expected: "Critical stock alert: Widget Type A has only 40 units (reorder point: 50). Immediate action required."
  5. Verify: No placeholder syntax visible (no [27:3], no [27:54]

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:

Workflow No.: CREDIT-WARNING-90
Description: Customer Credit Limit 90% Warning
Table No.: 18 (Customer)
Start Date: [Today]
End Date: [Blank]

Trigger Configuration (Initiated By):

Trigger: OnModify
Table No.: 18 (Customer)
Field No.: 5702 (Balance (LCY)) - triggers when balance changes

Validation Formula:
  Scenario 1:
    Table ID: 18 (Customer)
    Field No.: 1 (No.)
    Filter String: [18:1] (current customer)
    
  Condition 1 - Credit limit is set:
    Field No.: 5700 (Credit Limit (LCY))
    Filter String: >0
    
  Condition 2 - Balance at 90% or higher:
    [Complex calculation - requires custom approach]

Simplified Configuration (Threshold-Based):

For initial implementation, use fixed threshold:

Validation Formula:
  Scenario 1:
    Table ID: 18 (Customer)
    Field No.: 1 (No.)
    Filter String: [18:1]

Task 1: Review Customer Credit

Purpose: Alert accountant to proactively manage credit situation.

Task Configuration:

Code: REVIEW-CREDIT
Description: Customer [18:2] credit warning - Balance: [18:5702] / Limit: [18:5700]
Status: Released
Assigned to: ACCOUNTANT
Due Date: [TODAY]+2D
Critical Date: [TODAY]

Status Rule - Completion (Line 10000):

Description: Accountant confirms review and action taken
Active: Yes

[No validation formula - requires accountant decision]

User Action:
  1. Accountant reviews:
     - Current balance vs. credit limit
     - Recent payment history
     - Outstanding invoices aging
     - Customer payment terms
     
  2. Accountant decides action:
     - Option A: Contact customer about payment
     - Option B: Increase credit limit (if justified)
     - Option C: Monitor closely (no immediate action)
     - Option D: Place customer on hold (if warranted)
     
  3. Accountant documents decision:
     - Add comment to customer notes
     - Update credit limit if approved
     - Create follow-up task if needed
     
  4. Accountant clicks Process
     - Confirmation: "Acknowledge credit review for [Customer Name]

Optional Task 2: Customer Contact

Purpose: If accountant decides contact needed, create interaction task.

Task Configuration:

Code: CONTACT-CUSTOMER
Description: Call customer [18:2] regarding account balance
Status: Open (conditional on Task 1)
Assigned to: [18:29] (Customer's Salesperson)
Due Date: [TODAY]+3D
Critical Date: [TODAY]+2D
Activity Type: Interaction
Template Code: PHONE CALL
Contact No.: [18:5050]

Status Rule - Release (Line 9999):

Description: Release only if accountant determines contact needed
Active: Yes

Validation Formula:
  Manual release by accountant
  
  OR
  
  Always release (accountant can skip if not needed):
    Scenario: Check Task 1 completed
    [Same pattern as previous examples]

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:

Workflow 1: CREDIT-WARNING-80 (80% threshold)
  Due Date: +5D (less urgent)
  Assigned to: ACCOUNTANT
  
Workflow 2: CREDIT-WARNING-90 (90% threshold)
  Due Date: +2D (more urgent)
  Assigned to: ACCOUNTANT
  
Workflow 3: CREDIT-EXCEEDED (100% threshold)
  Due Date: +1D (immediate)
  Assigned to: FINANCE-MGR
  Critical Date: [TODAY]

Variation 2: Automatic Credit Hold:


Variation 3: Include Aging Information:

Enhance description with aging:
  Description: Customer [18:2] credit warning - Balance: [18:5702] / Limit: [18:5700] - Overdue: [18:1380]

Variation 4: Team-Based Assignment:

Change assignment:
  Assigned to: [blank]

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:

Workflow No.: LOT-EXPIRED
Description: Expired Lot Number Alert
Table No.: 6505 (Lot No. Information)
Start Date: [Today]
End Date: [Blank]

Trigger Configuration (Initiated By):

Trigger: OnModify
Table No.: 6505 (Lot No. Information)
Field No.: 10 (Expiration Date)

Note: BC evaluates lot expiration automatically during posting.
This workflow catches lots that have expired in inventory.

Validation Formula:
  Scenario 1:
    Table ID: 6505 (Lot No. Information)
    Field No.: 1 (Item No.)
    Filter String: [6505:1] (current lot's item)
    
  Condition - Expiration date is past:
    Field No.: 10 (Expiration Date)
    Filter String: <[TODAY]

Task: Remove Expired Inventory

Task Configuration:

Code: REMOVE-EXPIRED-LOT
Description: Expired: Item [6505:1] Lot [6505:2] - Expired [6505:10]
Status: Released
Assigned to: WH-MANAGER
Due Date: [TODAY]+1D
Critical Date: [TODAY]

Status Rule - Completion (Line 10000):

Description: Manager confirms lot disposition
Active: Yes

[No validation formula - requires manager confirmation of physical action]

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:

1. Preparation:
   - Create test item: TEST-LOT-ITEM
   - Assign Item Tracking Code with Lot Nos. enabled
   - Post Purchase Receipt with Lot No.: LOT-TEST-001
   - Navigate to Lot No. Information (Item  Related  Lot Numbers)
   - Set Expiration Date: [Yesterday]

2. Trigger Workflow:
   Method A - If OnModify trigger:
     - Modify Expiration Date field (change and change back)
     - Or modify another field on Lot No. Information
     
   Method B - If Job Queue:
     - Wait for daily job execution
     - Or manually run codeunit
     
3. Verify Workflow Entry:
   - QUA WorkFlow Entries
   - Verify entry created:
     * Description shows: Item no., Lot no., Expiration date
     * Status: Released
     * Critical Date: Today
     * Assigned to: WH-MANAGER

4. Manager Processes:
   - Review lot location in warehouse
   - Post Negative Adjustment:
     * Item No.: TEST-LOT-ITEM
     * Lot No.: LOT-TEST-001
     * Quantity: -[Qty on Hand]

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:

Create second workflow: LOT-NEAR-EXPIRY

Condition: Expiration Date between TODAY and TODAY+30D
  Field No.: 10
  Filter String: [TODAY]..[TODAY]+30D

Due Date: [6505:10]

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:

Add condition to prevent duplicate workflows:

Validation Formula enhancement:
  Scenario 2: Check existing workflow entries
    Table ID: 72777606 (WorkFlow Entries)
    Field No.: 7 (Source Primary Key Value)
    Filter String: [6505:1]&[6505:2]

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:

Workflow No.: CUST-ONBOARD
Description: New Customer Onboarding Process
Table No.: 18 (Customer)
Start Date: [Today]
End Date: [Blank]

Trigger Configuration (Initiated By):

Trigger: OnInsert
Table No.: 18 (Customer)

[No validation formula - all new customers trigger workflow]

Task 1: Verify Contact Information

Purpose: Secretary ensures all contact fields populated for communication.

Task Configuration:

Code: VERIFY-CONTACT
Description: Verify contact information for [18:2]
Status: Released (starts immediately upon customer creation)
Assigned to: SALES-ADMIN
Due Date: [TODAY]+1D
Critical Date: [TODAY]

Status Rule - Completion (Line 10000):

Description: Auto-complete when all contact fields populated
Active: Yes

Validation Formula:
  Scenario 1:
    Table ID: 18 (Customer)
    Field No.: 1 (No.)
    Filter String: [18:1]

Task 2: Assign Posting Groups

Purpose: Finance assigns GL integration posting groups.

Task Configuration:

Code: ASSIGN-POST-GROUPS
Description: Configure posting groups for [18:2]
Status: Open (waits for Task 1)
Assigned to: AR-CLERK
Due Date: [TODAY]+2D
Critical Date: [TODAY]

Status Rule - Release (Line 9999):


Status Rule - Completion (Line 10000):

Description: Auto-complete when all posting groups assigned
Active: Yes

Validation Formula:
  Scenario 1:
    Table ID: 18 (Customer)
    Field No.: 1 (No.)
    Filter String: [18:1]

Task 3: Credit Review and Approval

Purpose: Finance manager reviews credit application and sets credit limit.

Task Configuration:

Code: CREDIT-APPROVAL
Description: Credit review for [18:2] - Requested: [18:5700]
Status: Open (waits for Task 2)
Assigned to: CREDIT-MGR
Due Date: [TODAY]+3D
Critical Date: [TODAY]

Status Rule - Release (Line 9999):

Description: Release when posting groups assigned
Active: Yes

Validation Formula:
  [Check Task 2 Status = Completed, same pattern as Task 2 Line 9999]

Status Rule - Completion (Line 10000):

Description: Manager approval required
Active: Yes

[No validation formula - requires Conditional activity user confirmation]

User Actions:
  1. Manager reviews:
     - D&B credit report (external)
     - Trade references (if provided)
     - Requested credit limit
     - Payment terms proposed
     - Customer financial statements
     
  2. Manager decides:
     - Option A: Approve as requested
     - Option B: Approve with lower limit
     - Option C: Cash-only terms (no credit)
     - Option D: Require additional documentation
     
  3. Manager updates:
     - Customer."Credit Limit (LCY)" field
     - Customer."Payment Terms Code"
     - Add notes to customer card
     
  4. Manager clicks Process
     - Confirmation dialog: "Approve credit for [Customer Name]

Task 4: Assign Salesperson

Purpose: Sales manager assigns account ownership.

Task Configuration:

Code: ASSIGN-SALESPERSON
Description: Assign salesperson for [18:2]
Status: Open (waits for Task 3)
Assigned to: SALES-MGR
Due Date: [TODAY]+4D
Critical Date: [TODAY]

Status Rule - Release (Line 9999):

Description: Release when credit approved
Active: Yes

Validation Formula:
  [Check Task 3 Status = Completed]

Status Rule - Completion (Line 10000):

Description: Auto-complete when salesperson assigned
Active: Yes

Validation Formula:
  Scenario 1:
    Table ID: 18 (Customer)
    Field No.: 1 (No.)
    Filter String: [18:1]

Task 5: Welcome Call

Purpose: Assigned salesperson makes introductory call to customer.

Task Configuration:

Code: WELCOME-CALL
Description: Welcome call to [18:2] - Contact: [18:8]
Status: Open (waits for Task 4)
Assigned to: [18:29] (Assigned Salesperson - dynamic)
Due Date: [TODAY]+5D
Critical Date: [TODAY]+4D
Activity Type: Interaction
Template Code: PHONE CALL
Contact No.: [18:5050]

Status Rule - Release (Line 9999):

Description: Release when salesperson assigned
Active: Yes

Validation Formula:
  [Check Task 4 Status = Completed]

Status Rule - Completion (Line 10000):

Description: Auto-complete when interaction logged
Active: Yes

[No validation formula - Interaction activity auto-completes after wizard]

Process Flow:
  1. Salesperson opens My Tasks
  2. Clicks Process on WELCOME-CALL entry
  3. BC opens Interaction Wizard
  4. Wizard pre-populated:
     - Contact No.: [From workflow]
     - Template: PHONE CALL
     - Salesperson: [Current user]
  5. Salesperson completes wizard:
     - Date: [Today]
     - Time: [Current time]
     - Duration: [e.g., 15 minutes]
     - Success: [Yes/No]
     - Description: [Call notes]

BC Consultant Best Practices

Customer Table Considerations:


Posting Group Assignment Logic:


Credit Limit Management:


Interaction Integration:


Testing the Workflow

Complete Test Procedure:

1. Environment Preparation:
   - Configure Sales & Receivables Setup:
     * Customer Nos.: Number series (e.g., C00001)
   - Configure Interaction Templates:
     * Verify PHONE CALL template exists
   - Assign test users:
     * SALES-ADMIN (yourself)
     * AR-CLERK (yourself)
     * CREDIT-MGR (yourself)
     * SALES-MGR (yourself)
     * Salesperson: Your user ID
   - Verify workflow enabled

2. Create New Customer (Trigger Workflow):
   - Navigate: Customers list
   - Action: New
   - Fields:
     * No.: [Auto-assigned or enter TEST-C001]
     * Name: Test Customer Inc.
     * Tab out of Name field
   - Workflow triggers on OnInsert
   - Do NOT close customer card yet

3. Verify Task 1 Created:
   - Open QUA WorkFlow Entries (separate window)
   - Filter: Workflow No. = CUST-ONBOARD
   - Verify entry:
     * Workflow Step Code: VERIFY-CONTACT
     * Status: Released
     * Assigned to: SALES-ADMIN
     * Source Primary Key Value: TEST-C001
   - Keep Workflow Entries window open for monitoring

4. Complete Task 1 (Contact Information):
   - Return to customer card
   - Fill fields:
     * E-Mail: test@customer.com
     * Phone No.: +1-555-0100
     * Address: 123 Customer St
     * City: TestCity
     * Post Code: 12345
     * Contact: John Smith
   - Tab out of Contact field
   - Wait 2-3 seconds (validation evaluates)
   - Return to WorkFlow Entries window
   - Refresh (F5 or Ctrl+R)
   - Task VERIFY-CONTACT Status should = Completed
   - Completed at timestamp should be populated

5. Verify Task 2 Released:
   - Task ASSIGN-POST-GROUPS should now show:
     * Status: Released
     * Assigned to: AR-CLERK
     * Due Date: Tomorrow
   - If still Open, check:
     * Task 1 actually completed (Status field)
     * Line 9999 validation formula correct
     * Refresh workflow entries

6. Complete Task 2 (Posting Groups):
   - Return to customer card
   - Assign:
     * Customer Posting Group: DOMESTIC
     * Gen. Bus. Posting Group: DOMESTIC
     * VAT Bus. Posting Group: DOMESTIC
   - Tab out of VAT Bus. Posting Group
   - Wait for validation
   - Task 2 should auto-complete
   - Verify in WorkFlow Entries

7. Verify Task 3 Released:
   - Task CREDIT-APPROVAL should be Released
   - Assigned to: CREDIT-MGR

8. Complete Task 3 (Credit Approval):
   - On customer card, set:
     * Credit Limit (LCY): 50000
     * Payment Terms Code: 30 DAYS NET
   - Navigate to WorkFlow Entries
   - Locate CREDIT-APPROVAL task (Status = Released)
   - Click Process action
   - Confirmation dialog appears:
     * "Approve credit for Test Customer Inc.?"
   - Click Yes
   - Task Status = Completed

9. Verify Task 4 Released:
   - Task ASSIGN-SALESPERSON should be Released
   - Assigned to: SALES-MGR

10. Complete Task 4 (Assign Salesperson):
    - On customer card, assign:
      * Salesperson Code: [Your user ID or test salesperson]
    - Tab out
    - Task 4 auto-completes

11. Verify Task 5 Released:
    - Task WELCOME-CALL should be Released
    - Assigned to: [The salesperson you assigned]
    - Activity Type: Interaction
    - Contact No.: Should resolve to Primary Contact (if set)

12. Complete Task 5 (Welcome Call Interaction):
    - Navigate to WorkFlow Entries
    - Locate WELCOME-CALL task
    - Click Process action
    - BC Interaction Wizard opens
    - Wizard fields pre-populated:
      * Contact No.: [From customer Primary Contact]
      * Template: PHONE CALL
      * Salesperson: [Assigned salesperson]
    - Complete wizard:
      * Date: Today
      * Time: Current time
      * Duration (Min.): 15
      * Success: Yes (checkmark)
      * Description: "Welcome call - introduced company services"
    - Click Finish button
    - Interaction Log Entry created
    - Return to WorkFlow Entries
    - Task WELCOME-CALL Status = Completed

13. Verify Complete Workflow:
    - All 5 tasks Status = Completed
    - Customer fully onboarded:
      * All contact information complete
      * Posting groups assigned
      * Credit limit approved
      * Salesperson assigned
      * Welcome call logged
    - Customer ready for first sales order

14. Verify CRM Integration:
    - Open Customer Card (TEST-C001)
    - Navigate  Interaction Log Entries
    - Verify entry exists:
      * Template: PHONE CALL
      * Salesperson: [Assigned salesperson]

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:

Conditional Routing by Requested Credit:
  
  Task 3A: Supervisor Approval (Credit < )
    Line 9999: Release if [18:5700] < 10000
    Assigned to: AR-SUPERVISOR
    
  Task 3B: Manager Approval (Credit -)
    Line 9999: Release if [18:5700] >= 10000 AND [18:5700] <= 50000
    Assigned to: CREDIT-MGR
    
  Task 3C: Director Approval (Credit > )
    Line 9999: Release if [18:5700]

Variation 3: Team-Based Processing:

Replace individual assignments with teams:
  
  Task 1:
    Assigned to: [blank]
    Assigned to Team: SALES-ADMIN-TEAM
    
  Task 2:
    Assigned to: [blank]
    Assigned to Team: AR-TEAM
    
  Task 3:
    Assigned to: [blank]

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:

Validation Formula Debug:
  1. Verify Task 1 actually completed:
     - Open WorkFlow Entries
     - Check Status field (not just visual)
     - Verify Completed at timestamp exists
     
  2. Check Line 9999 scenario filtering:
     - Should filter to correct workflow entry
     - Workflow No. = CUST-ONBOARD (exact match)
     - Workflow Step Code = VERIFY-CONTACT (exact match)
     - Source Primary Key Value = [18:1]

Issue: Interaction wizard doesn't open for Task 5.

Solution:

Interaction Activity Requirements:
  1. Verify prerequisites:
     - Activity Type = Interaction (not Manual)
     - Template Code = PHONE CALL (exists in BC)
     - Contact No. resolves to valid contact
     
  2. Check Contact No. placeholder:
     - [18:5050]

Issue: Workflow creates duplicate tasks for same customer.

Solution:


This completes Example 5 with comprehensive BC consultant-level detail. Continuing with Examples 6-20...

Richten Sie Ihre Testversion von Business Central ein.

mit QUALIA Technik GmbH

Starten Sie Ihre 30-tägige Testphase (bei Bedarf auf 60–90 Tage verlängerbar) mit Expertenhilfe, Beispieldaten oder Ihren eigenen Daten.

Was Sie in Ihrer kostenlosen Business Central-Testversion erhalten

  • 25 Testbenutzer, in wenigen Minuten einsatzbereit
    Wir stellen Ihnen eine CSP Premium-Testversion mit 25 Lizenzen für 30 Tage zur Verfügung – während der Testphase fallen keine Kosten an, und Sie können jederzeit wechseln.

  • Oder wählen Sie den öffentlichen Testpfad (bis zu 90 Tage).
    Starten Sie eine Microsoft „öffentliche/virale“ Testversion mit Ihrer geschäftlichen E-Mail-Adresse, verlängern Sie diese einmal selbst (+30 Tage) und einmal über einen Partner (+30 Tage) für bis zu 90 Tage, bevor Sie ein Abonnement abschließen.

  • Geführtes Onboarding – direkt im Produkt integriert:
    Sie erhalten In- ‑App- Touren, Schulungstipps und eine „Erste Schritte“-Checkliste, sobald Sie sich anmelden, damit Ihr Team Finanzen, Vertrieb, Lagerbestand und mehr souverän erkunden kann.

  • Ihre Daten oder Beispieldaten – Sie haben die Wahl.
    Starten Sie mit einem umfangreichen Demo-Unternehmen oder importieren Sie Starterdateien; Sie können während der Testphase auch Premium- Funktionen für komplexere Szenarien aktivieren.

  • Sichere ‑Partnerunterstützung mit minimalen Berechtigungen (GDAP)
    Wir helfen Ihnen bei der Einrichtung und dem Support Ihrer Testphase mithilfe von granularer delegierter Administration (GDAP).

  • Lokalisiert für Ihren Markt:
    Die Testversionen werden mit den Sprachen und der regulatorischen Lokalisierung für Ihr Land/Ihre Region bereitgestellt.

Bitte lesen und bestätigen Sie Folgendes:

*Note: Fields marked with * are mandatory for processing your request.

Richten Sie Ihre Testversion von Business Central ein.

mit QUALIA Technik GmbH

Starten Sie Ihre 30-tägige Testphase (bei Bedarf auf 60–90 Tage verlängerbar) mit Expertenhilfe, Beispieldaten oder Ihren eigenen Daten.

Was Sie in Ihrer kostenlosen Business Central-Testversion erhalten

  • 25 Testbenutzer, in wenigen Minuten einsatzbereit
    Wir stellen Ihnen eine CSP Premium-Testversion mit 25 Lizenzen für 30 Tage zur Verfügung – während der Testphase fallen keine Kosten an, und Sie können jederzeit wechseln.

  • Oder wählen Sie den öffentlichen Testpfad (bis zu 90 Tage).
    Starten Sie eine Microsoft „öffentliche/virale“ Testversion mit Ihrer geschäftlichen E-Mail-Adresse, verlängern Sie diese einmal selbst (+30 Tage) und einmal über einen Partner (+30 Tage) für bis zu 90 Tage, bevor Sie ein Abonnement abschließen.

  • Geführtes Onboarding – direkt im Produkt integriert:
    Sie erhalten In- ‑App- Touren, Schulungstipps und eine „Erste Schritte“-Checkliste, sobald Sie sich anmelden, damit Ihr Team Finanzen, Vertrieb, Lagerbestand und mehr souverän erkunden kann.

  • Ihre Daten oder Beispieldaten – Sie haben die Wahl.
    Starten Sie mit einem umfangreichen Demo-Unternehmen oder importieren Sie Starterdateien; Sie können während der Testphase auch Premium- Funktionen für komplexere Szenarien aktivieren.

  • Sichere ‑Partnerunterstützung mit minimalen Berechtigungen (GDAP)
    Wir helfen Ihnen bei der Einrichtung und dem Support Ihrer Testphase mithilfe von granularer delegierter Administration (GDAP).

  • Lokalisiert für Ihren Markt:
    Die Testversionen werden mit den Sprachen und der regulatorischen Lokalisierung für Ihr Land/Ihre Region bereitgestellt.

Bitte lesen und bestätigen Sie Folgendes:

*Note: Fields marked with * are mandatory for processing your request.

Richten Sie Ihre Testversion von Business Central ein.

mit QUALIA Technik GmbH

Starten Sie Ihre 30-tägige Testphase (bei Bedarf auf 60–90 Tage verlängerbar) mit Expertenhilfe, Beispieldaten oder Ihren eigenen Daten.

Was Sie in Ihrer kostenlosen Business Central-Testversion erhalten

  • 25 Testbenutzer, in wenigen Minuten einsatzbereit
    Wir stellen Ihnen eine CSP Premium-Testversion mit 25 Lizenzen für 30 Tage zur Verfügung – während der Testphase fallen keine Kosten an, und Sie können jederzeit wechseln.

  • Oder wählen Sie den öffentlichen Testpfad (bis zu 90 Tage).
    Starten Sie eine Microsoft „öffentliche/virale“ Testversion mit Ihrer geschäftlichen E-Mail-Adresse, verlängern Sie diese einmal selbst (+30 Tage) und einmal über einen Partner (+30 Tage) für bis zu 90 Tage, bevor Sie ein Abonnement abschließen.

  • Geführtes Onboarding – direkt im Produkt integriert:
    Sie erhalten In- ‑App- Touren, Schulungstipps und eine „Erste Schritte“-Checkliste, sobald Sie sich anmelden, damit Ihr Team Finanzen, Vertrieb, Lagerbestand und mehr souverän erkunden kann.

  • Ihre Daten oder Beispieldaten – Sie haben die Wahl.
    Starten Sie mit einem umfangreichen Demo-Unternehmen oder importieren Sie Starterdateien; Sie können während der Testphase auch Premium- Funktionen für komplexere Szenarien aktivieren.

  • Sichere ‑Partnerunterstützung mit minimalen Berechtigungen (GDAP)
    Wir helfen Ihnen bei der Einrichtung und dem Support Ihrer Testphase mithilfe von granularer delegierter Administration (GDAP).

  • Lokalisiert für Ihren Markt:
    Die Testversionen werden mit den Sprachen und der regulatorischen Lokalisierung für Ihr Land/Ihre Region bereitgestellt.

Bitte lesen und bestätigen Sie Folgendes:

*Note: Fields marked with * are mandatory for processing your request.

Richten Sie Ihre Testversion von Business Central ein.

mit QUALIA Technik GmbH

Starten Sie Ihre 30-tägige Testphase (bei Bedarf auf 60–90 Tage verlängerbar) mit Expertenhilfe, Beispieldaten oder Ihren eigenen Daten.

Was Sie in Ihrer kostenlosen Business Central-Testversion erhalten

  • 25 Testbenutzer, in wenigen Minuten einsatzbereit
    Wir stellen Ihnen eine CSP Premium-Testversion mit 25 Lizenzen für 30 Tage zur Verfügung – während der Testphase fallen keine Kosten an, und Sie können jederzeit wechseln.

  • Oder wählen Sie den öffentlichen Testpfad (bis zu 90 Tage).
    Starten Sie eine Microsoft „öffentliche/virale“ Testversion mit Ihrer geschäftlichen E-Mail-Adresse, verlängern Sie diese einmal selbst (+30 Tage) und einmal über einen Partner (+30 Tage) für bis zu 90 Tage, bevor Sie ein Abonnement abschließen.

  • Geführtes Onboarding – direkt im Produkt integriert:
    Sie erhalten In- ‑App- Touren, Schulungstipps und eine „Erste Schritte“-Checkliste, sobald Sie sich anmelden, damit Ihr Team Finanzen, Vertrieb, Lagerbestand und mehr souverän erkunden kann.

  • Ihre Daten oder Beispieldaten – Sie haben die Wahl.
    Starten Sie mit einem umfangreichen Demo-Unternehmen oder importieren Sie Starterdateien; Sie können während der Testphase auch Premium- Funktionen für komplexere Szenarien aktivieren.

  • Sichere ‑Partnerunterstützung mit minimalen Berechtigungen (GDAP)
    Wir helfen Ihnen bei der Einrichtung und dem Support Ihrer Testphase mithilfe von granularer delegierter Administration (GDAP).

  • Lokalisiert für Ihren Markt:
    Die Testversionen werden mit den Sprachen und der regulatorischen Lokalisierung für Ihr Land/Ihre Region bereitgestellt.

Bitte lesen und bestätigen Sie Folgendes:

*Note: Fields marked with * are mandatory for processing your request.

© 2024 Qualia. All rights reserved

© 2024 Qualia. All rights reserved

© 2024 Qualia. All rights reserved

© 2024 Qualia. All rights reserved