order-to-cash-protocol
Use this skill to coordinate the order-to-cash process across Dynamics 365 Supply Chain Management, Finance, and Sales, covering confirmed order through fulfillment, invoicing, accounts receivable, and cash collection. It defines stage ownership, gate conditions, agent handoff ru
Install
npx skills add https://github.com/VincentChuWaiChow/vanguard-frontier-agentic/tree/master/skills/cross-functional/order-to-cash-protocol
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install vincentchuwaichow-vanguard-frontier-agentic@llmmart
git clone https://github.com/VincentChuWaiChow/vanguard-frontier-agentic.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole vincentchuwaichow/vanguard-frontier-agentic collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Order-to-Cash Protocol
Purpose
This skill coordinates the order-to-cash (O2C) end-to-end process in Microsoft Dynamics 365 environments. Starting from a confirmed sales order, it orchestrates order management, inventory fulfillment, shipment, invoicing, accounts receivable, and cash collection. The protocol aligns d365-supply-chain-plan-to-produce-agent (fulfillment), d365-finance-close-to-report-agent (invoicing and AR), and d365-sales-revenue-operations-agent (sales performance and customer communication). It does not give business or financial advice; all recommendations are subject to human owner confirmation.
When to use
- A confirmed sales order must progress through fulfillment, invoicing, and payment collection.
- Multiple Dynamics 365 modules are involved and cross-agent coordination is required.
- An accounts receivable aging item needs coordinated follow-up between Sales and Finance.
- A return, credit memo, or dispute requires orchestrated handling across Supply Chain and Finance.
- A post-order cash flow analysis or DSO escalation requires cross-domain visibility.
When NOT to use
- The opportunity has not yet been converted to a confirmed order — use the lead-to-cash-protocol or prospect-to-quote process instead.
- The matter is confined entirely to accounts payable or procurement — use procure-to-pay-protocol.
- Direct live-order configuration or system transaction execution is required — escalate to the relevant specialist.
- The matter involves revenue recognition complexity at contract inception — use lead-to-cash-protocol first.
Participating agents
- d365-supply-chain-plan-to-produce-agent — owns order fulfillment, picking, packing, and shipment
- d365-finance-close-to-report-agent — owns invoicing, accounts receivable, collections, and cash application
- d365-sales-revenue-operations-agent — owns sales order policies, customer communication, and sales performance analysis
Inputs required
- Confirmed sales order number and legal entity
- Customer account and credit status
- Requested and promised delivery date
- Pricing and discount terms from the sales order
- Accounts receivable payment terms for the customer
Evidence required
- Sales order confirmation record from Dynamics 365 Supply Chain Management
- Available-to-promise (ATP) or inventory reservation confirmation
- Packing slip or delivery note reference
- Invoice draft for accuracy review before posting
- Payment receipt or remittance advice for cash application
Workflow
- Receive confirmed sales order from d365-sales-revenue-operations-agent or directly from the order management system.
- Verify order accuracy: line items, pricing, quantities, and delivery terms match the original customer agreement.
- Check customer credit status; if credit is on hold, escalate to d365-finance-close-to-report-agent and finance owner.
- Trigger inventory reservation and ATP confirmation via d365-supply-chain-plan-to-produce-agent.
- Monitor warehouse picking, packing, and shipment workflows; flag delays against committed delivery dates.
- Generate packing slip upon confirmed shipment; hand off to d365-finance-close-to-report-agent.
- Create and validate sales invoice against packing slip and sales order; surface discrepancies for human resolution.
- Post invoice and open accounts receivable entry in Dynamics 365 Finance.
- Monitor payment due dates; trigger collection activities per the customer's payment terms.
- Apply received cash to open invoices and close accounts receivable entries; update sales performance reporting.
Decision gates
| Gate | Condition | Action if not met |
|---|---|---|
| Credit status | Customer account not on credit hold | Escalate to d365-finance-close-to-report-agent and finance credit manager |
| Order accuracy | Lines, prices, and terms match customer agreement | Return to d365-sales-revenue-operations-agent for correction |
| ATP confirmation | Stock reserved or ATP date within delivery window | Notify supply chain agent; surface gap to human owner |
| Invoice accuracy | Invoice matches packing slip and sales order | Hold posting; flag for human review |
| Collections escalation | Payment overdue beyond configurable threshold | Escalate to finance collections owner |
Refusal triggers
- Live transaction execution is requested without human confirmation — refuse and escalate.
- Credit hold override is requested without documented approval — refuse.
- Customer PII, payment details, or bank account data are present in any input — stop; redact and escalate.
- An invoice is requested to be posted with unresolved line discrepancies — refuse.
- A write-off or bad-debt decision is requested — escalate to finance owner; do not decide unilaterally.
Handoff rules
- Each handoff carries a structured capsule: matter_id, sales_order_id, current_stage, gate_outcomes, open_questions, do_not_do_list.
- One primary agent per stage: Supply Chain owns fulfillment; Finance owns invoicing and collections; Sales owns customer communication.
- No agent posts or reverses a financial transaction — all postings require human confirmation above materiality threshold.
- Escalations are logged with trigger, timestamp, and receiving owner.
KPIs
- Order fulfillment cycle time (order confirmation to shipment)
- Invoice accuracy rate (first-pass match to packing slip)
- Days sales outstanding (DSO)
- Cash application rate (% of invoices settled within payment terms)
- Collection effectiveness index (CEI)
References
Files (vanguard-frontier-agentic)
-
references
-
workflow-and-output.md 6.5 KB
# Order-to-Cash Protocol — Workflow and Output Contract ## Overview This document provides the detailed step-by-step workflow, decision tree, and output contract for the order-to-cash-protocol skill. It is the authoritative reference for agent implementations and human reviewers tracing execution through the post-order revenue cycle. --- ## Detailed Step-by-Step Workflow ### Phase 1 — Order Validation (d365-sales-revenue-operations-agent + d365-supply-chain-plan-to-produce-agent) **Step 1.1 — Receive confirmed sales order** - Accept the confirmed sales order number from the upstream system or lead-to-cash-protocol handoff. - Verify the order status is "Confirmed" in Dynamics 365 Supply Chain Management. - Confirm that legal entity, currency, and customer account are correctly set. **Step 1.2 — Order accuracy review** - Compare all line items: item numbers, quantities, unit prices, discount rates, delivery addresses, and requested delivery dates against the customer's accepted quote or purchase order. - Any discrepancy must be resolved by d365-sales-revenue-operations-agent and the customer before fulfillment proceeds. **Step 1.3 — Credit status check** - Query the customer's credit limit and current accounts receivable exposure in Dynamics 365 Finance. - If the customer account is on credit hold, halt fulfillment; escalate to d365-finance-close-to-report-agent and the finance credit manager. - Do not release from credit hold without documented human approval. --- ### Phase 2 — Fulfillment (d365-supply-chain-plan-to-produce-agent) **Step 2.1 — Inventory reservation and ATP check** - Reserve available inventory against each order line. - Calculate the available-to-promise (ATP) date for any line where stock is insufficient. - If the ATP date exceeds the promised delivery date, surface the gap to d365-sales-revenue-operations-agent and the human owner immediately; do not silently delay shipment. **Step 2.2 — Warehouse picking and packing** - Trigger picking work in the warehouse management system. - Monitor picking completion; flag pick shortages for supply chain owner resolution. - Confirm packing and generate a packing slip with shipment reference. **Step 2.3 — Shipment and delivery confirmation** - Record the shipment date and carrier details against the sales order. - Generate the delivery note or bill of lading reference. - Hand the packing slip and shipment confirmation to d365-finance-close-to-report-agent. --- ### Phase 3 — Invoicing (d365-finance-close-to-report-agent) **Step 3.1 — Invoice creation** - Generate a draft sales order invoice in Dynamics 365 Finance using the confirmed packing slip. - Validate that invoice lines match packing slip quantities and original sales order pricing. - Apply correct tax codes and customer-specific payment terms. **Step 3.2 — Invoice accuracy gate** - Compare draft invoice against sales order and packing slip line by line. - Any discrepancy (price, quantity, tax) triggers a hold; route to d365-sales-revenue-operations-agent for resolution. - Invoices above the configured materiality threshold require human approval before posting. **Step 3.3 — Invoice posting and AR entry** - Post the validated invoice in Dynamics 365 Finance. - Open an accounts receivable entry with the customer's due date based on payment terms. - Deliver the invoice to the customer via the configured channel (email, portal, EDI). --- ### Phase 4 — Collections and Cash Application (d365-finance-close-to-report-agent) **Step 4.1 — Payment monitoring** - Monitor the accounts receivable aging report for the invoice due date. - At configurable intervals before and after due date, surface collection activities to the finance owner. - Do not contact the customer directly; surface recommended actions to the human owner. **Step 4.2 — Cash application** - Upon receipt of customer payment or remittance advice, apply cash to the matching open invoice. - If the payment is short (partial payment or deduction), flag for finance owner; do not auto-close the AR entry. **Step 4.3 — Settlement and close** - Fully settled invoices are closed in Dynamics 365 Finance. - Update the sales performance report in d365-sales-revenue-operations-agent. - Confirm completion to the upstream lead-to-cash-protocol if this order-to-cash cycle was initiated from it. --- ## Decision Tree ``` START: Confirmed sales order received │ ├─ Order status confirmed in Supply Chain Management? │ └─ NO → STOP; return to order management │ ├─ Order accuracy verified? │ └─ NO → RETURN to d365-sales-revenue-operations-agent for correction │ ├─ Customer credit status: OK? │ └─ NO → HALT; escalate to finance credit manager │ ├─ Inventory ATP within delivery window? │ └─ NO → SURFACE gap to human owner; do not commit silently │ ├─ Picking and packing complete? │ └─ NO → MONITOR; alert supply chain owner on delay │ ├─ Invoice accurate (matches packing slip + order)? │ └─ NO → HOLD; flag for human resolution │ ├─ Invoice above materiality threshold? │ └─ YES → REQUIRE human approval before posting │ ├─ Payment received in full? │ └─ NO (partial) → FLAG for finance owner; do not auto-close │ └─ Invoice settled? └─ YES → CLOSE AR; update sales reporting ``` --- ## Output Contract Every execution of this protocol produces a structured output capsule with the following mandatory fields: | Field | Type | Description | |---|---|---| | matter_id | string | Unique identifier for this O2C instance | | sales_order_id | string | Confirmed sales order number | | current_stage | enum | One of: order_validated, credit_check, fulfillment, shipped, invoiced, collections, closed | | gate_outcomes | object | Pass/fail/escalated for each gate: credit, order_accuracy, atp, invoice_match, collections | | agents_involved | array | Agent IDs that participated | | escalations | array | Each escalation: {trigger, timestamp, escalated_to, reason} | | open_questions | array | Unresolved items requiring human input | | do_not_do_list | array | Actions explicitly prohibited in the current state | | evidence_quality | enum | high / medium / low | | privilege_sensitivity | boolean | True if commercially sensitive terms are involved | | last_updated | ISO8601 timestamp | When the capsule was last updated | --- ## Audit Log Fields - matter_id, skill_id, skill_version, invoked_by, input_hash, evidence_quality, output_verdict, escalation_fired, timestamp
-
-
metadata.json 1.9 KB
{ "id": "order-to-cash-protocol", "name": "Order-to-Cash Protocol", "type": "skill", "provider": "generic", "harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"], "summary": "Orchestration protocol for the order-to-cash process in Dynamics 365 environments, coordinating Supply Chain Management (order fulfillment and shipment), Finance (invoicing, accounts receivable, and collections), and Sales (customer communication and sales performance). Defines stage gates for credit, order accuracy, ATP, invoice match, and collections escalation, with structured handoff capsules between d365-supply-chain-plan-to-produce-agent, d365-finance-close-to-report-agent, and d365-sales-revenue-operations-agent.", "source_type": "original", "official_docs": [ "https://learn.microsoft.com/dynamics365/guidance/business-processes/order-to-cash-overview", "https://learn.microsoft.com/dynamics365/guidance/business-processes/order-to-cash-areas-overview", "https://learn.microsoft.com/training/modules/work-with-order-to-cash-supply-chain-management/" ], "security_notes": "This protocol is a recommendation and orchestration guide only — it is never an authorization to post invoices, override credit holds, apply cash, or execute live system transactions. All production-impacting steps require confirmation by the relevant human owner or specialist agent. The protocol never requests customer PII, payment card data, bank account information, tenant IDs, or Dynamics 365 credentials. Write-off and bad-debt decisions are always escalated to the finance owner and never resolved by an agent unilaterally. Collections actions follow configured payment terms and escalation thresholds; no agent contacts customers directly.", "last_verified": "2026-06-16", "path": "skills/cross-functional/order-to-cash-protocol", "author": "github: VincentChuWaiChow", "version": "0.1.0" } -
SKILL.md 6.8 KB
--- name: order-to-cash-protocol description: Use this skill to coordinate the order-to-cash process across Dynamics 365 Supply Chain Management, Finance, and Sales, covering confirmed order through fulfillment, invoicing, accounts receivable, and cash collection. It defines stage ownership, gate conditions, agent handoff rules, and escalation triggers for the post-order revenue cycle. The skill does not execute system transactions, approve credit changes, post invoices, or make collection decisions; all production-impacting steps are escalated to the relevant specialist agent or human owner. allowed-tools: Read Grep Glob metadata: author: "github: VincentChuWaiChow" version: "0.1.0" updated: "2026-06-16" category: operational lifecycle: experimental --- # Order-to-Cash Protocol ## Purpose This skill coordinates the order-to-cash (O2C) end-to-end process in Microsoft Dynamics 365 environments. Starting from a confirmed sales order, it orchestrates order management, inventory fulfillment, shipment, invoicing, accounts receivable, and cash collection. The protocol aligns d365-supply-chain-plan-to-produce-agent (fulfillment), d365-finance-close-to-report-agent (invoicing and AR), and d365-sales-revenue-operations-agent (sales performance and customer communication). It does not give business or financial advice; all recommendations are subject to human owner confirmation. ## When to use - A confirmed sales order must progress through fulfillment, invoicing, and payment collection. - Multiple Dynamics 365 modules are involved and cross-agent coordination is required. - An accounts receivable aging item needs coordinated follow-up between Sales and Finance. - A return, credit memo, or dispute requires orchestrated handling across Supply Chain and Finance. - A post-order cash flow analysis or DSO escalation requires cross-domain visibility. ## When NOT to use - The opportunity has not yet been converted to a confirmed order — use the lead-to-cash-protocol or prospect-to-quote process instead. - The matter is confined entirely to accounts payable or procurement — use procure-to-pay-protocol. - Direct live-order configuration or system transaction execution is required — escalate to the relevant specialist. - The matter involves revenue recognition complexity at contract inception — use lead-to-cash-protocol first. ## Participating agents - d365-supply-chain-plan-to-produce-agent — owns order fulfillment, picking, packing, and shipment - d365-finance-close-to-report-agent — owns invoicing, accounts receivable, collections, and cash application - d365-sales-revenue-operations-agent — owns sales order policies, customer communication, and sales performance analysis ## Inputs required - Confirmed sales order number and legal entity - Customer account and credit status - Requested and promised delivery date - Pricing and discount terms from the sales order - Accounts receivable payment terms for the customer ## Evidence required - Sales order confirmation record from Dynamics 365 Supply Chain Management - Available-to-promise (ATP) or inventory reservation confirmation - Packing slip or delivery note reference - Invoice draft for accuracy review before posting - Payment receipt or remittance advice for cash application ## Workflow 1. Receive confirmed sales order from d365-sales-revenue-operations-agent or directly from the order management system. 2. Verify order accuracy: line items, pricing, quantities, and delivery terms match the original customer agreement. 3. Check customer credit status; if credit is on hold, escalate to d365-finance-close-to-report-agent and finance owner. 4. Trigger inventory reservation and ATP confirmation via d365-supply-chain-plan-to-produce-agent. 5. Monitor warehouse picking, packing, and shipment workflows; flag delays against committed delivery dates. 6. Generate packing slip upon confirmed shipment; hand off to d365-finance-close-to-report-agent. 7. Create and validate sales invoice against packing slip and sales order; surface discrepancies for human resolution. 8. Post invoice and open accounts receivable entry in Dynamics 365 Finance. 9. Monitor payment due dates; trigger collection activities per the customer's payment terms. 10. Apply received cash to open invoices and close accounts receivable entries; update sales performance reporting. ## Decision gates | Gate | Condition | Action if not met | |---|---|---| | Credit status | Customer account not on credit hold | Escalate to d365-finance-close-to-report-agent and finance credit manager | | Order accuracy | Lines, prices, and terms match customer agreement | Return to d365-sales-revenue-operations-agent for correction | | ATP confirmation | Stock reserved or ATP date within delivery window | Notify supply chain agent; surface gap to human owner | | Invoice accuracy | Invoice matches packing slip and sales order | Hold posting; flag for human review | | Collections escalation | Payment overdue beyond configurable threshold | Escalate to finance collections owner | ## Refusal triggers - Live transaction execution is requested without human confirmation — refuse and escalate. - Credit hold override is requested without documented approval — refuse. - Customer PII, payment details, or bank account data are present in any input — stop; redact and escalate. - An invoice is requested to be posted with unresolved line discrepancies — refuse. - A write-off or bad-debt decision is requested — escalate to finance owner; do not decide unilaterally. ## Handoff rules - Each handoff carries a structured capsule: matter_id, sales_order_id, current_stage, gate_outcomes, open_questions, do_not_do_list. - One primary agent per stage: Supply Chain owns fulfillment; Finance owns invoicing and collections; Sales owns customer communication. - No agent posts or reverses a financial transaction — all postings require human confirmation above materiality threshold. - Escalations are logged with trigger, timestamp, and receiving owner. ## KPIs - Order fulfillment cycle time (order confirmation to shipment) - Invoice accuracy rate (first-pass match to packing slip) - Days sales outstanding (DSO) - Cash application rate (% of invoices settled within payment terms) - Collection effectiveness index (CEI) ## References - [Order to cash end-to-end overview — Dynamics 365](https://learn.microsoft.com/dynamics365/guidance/business-processes/order-to-cash-overview) - [Order to cash business process areas overview](https://learn.microsoft.com/dynamics365/guidance/business-processes/order-to-cash-areas-overview) - [Manage accounts receivable — Dynamics 365 Finance](https://learn.microsoft.com/dynamics365/guidance/business-processes/order-to-cash-areas-overview#manage-accounts-receivable) - [Work with order to cash in Dynamics 365 Supply Chain Management (training)](https://learn.microsoft.com/training/modules/work-with-order-to-cash-supply-chain-management/)
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.