{
  "test_id": "ORCL.E2E.O2C",
  "scenario_name": "Order-to-Cash",
  "application": "Oracle Fusion Cloud",
  "product": "SCM",
  "module": "End-to-End SCM",
  "process": "Order-to-Cash",
  "business_flow": "Order-to-Cash",
  "scenario_type": "Positive / Negative / Functional",
  "priority": "High",
  "automation_status": "SyntraFlow Ready",
  "library": "Syntra Standard Journey",
  "canonical_url": "https://www.syntraflow.cloud/oracle-erp-testing-tool/test-library/scm/end-to-end/order-to-cash/",
  "objective": {
    "intro": "This is an orchestration test, not a new transactional family: it does not duplicate the atomic scenario coverage already tested individually on the live Create Sales Order, Schedule Order, Reserve Order, Pick Release, Ship Confirm, Create Transaction, Create Standard Receipt, Apply Receipt, Unapply Receipt and Create Return Order pages. Instead, it links to those existing pages and validates how they connect into the end-to-end Order-to-Cash business flow, with emphasis on cross-stage data continuity — reserved quantity flowing into shipment, shipped quantity flowing into invoice, and invoice flowing into receipt — rather than re-testing each stage's atomic field-level validation already covered on those linked family pages.",
    "confirms": [
      "a sales order correctly flows through scheduling, reservation, pick and ship confirm into a shipment that AR billing can reference",
      "the shipped quantity, not merely the ordered or reserved quantity, correctly drives the AR transaction's quantity and amount",
      "partial and split shipments correctly generate their own corresponding AR transactions rather than one combined invoice, where supported",
      "customer receipts correctly apply — fully, partially, or across multiple invoices — against the correct open invoice balance",
      "unapply and reverse receipt actions correctly restore the customer's open balance",
      "accounting entries correctly reconcile to the shipped and billed amount, and the sales order, shipment, invoice and receipt correctly cross-reference each other end to end"
    ],
    "scope_note": "This scenario covers the end-to-end Order-to-Cash journey in Oracle Fusion SCM and Financials TEST/UAT environments. It does not re-test the individual field-level validation already covered by the Create Sales Order, Schedule Order, Reserve Order, Pick Release, Ship Confirm, Create Transaction, Create Standard Receipt, Apply Receipt, Unapply Receipt and Create Return Order scenarios — see those pages for atomic coverage of each stage. This page focuses specifically on the hand-offs and cross-stage data continuity between them."
  },
  "preconditions": [
    "A valid ${SALES_ORDER} can be created and submitted for ${CUSTOMER} with ${ITEM} at ${QUANTITY} in ${ORGANIZATION}, per the individual Create Sales Order and Submit Sales Order scenarios.",
    "Scheduling, reservation, pick release and ship confirm are independently valid for the order, per the individual Schedule Order, Reserve Order, Pick Release and Ship Confirm scenarios.",
    "AR billing setup is configured such that a shipment can be billed as ${AR_TRANSACTION}, per the individual Create Transaction scenario.",
    "${CUSTOMER} is configured with a valid receipt method and, where applicable, credit memo and return processing enabled.",
    "The test user holds the combination of Order Management and AR roles required to execute the full journey, or distinct users are used per stage as the scenario requires.",
    "Each individual stage (sales order, scheduling, reservation, pick, ship, AR billing, receipt) is independently valid and out of scope for this test — this scenario assumes those stages pass their own field-level tests and focuses on the hand-off and continuity between them."
  ],
  "test_data": [
    {
      "field": "Sales Order",
      "example": "${SALES_ORDER}"
    },
    {
      "field": "Customer",
      "example": "${CUSTOMER}"
    },
    {
      "field": "Item",
      "example": "${ITEM}"
    },
    {
      "field": "Quantity",
      "example": "${QUANTITY}"
    },
    {
      "field": "Shipment",
      "example": "${SHIPMENT}"
    },
    {
      "field": "AR Transaction",
      "example": "${AR_TRANSACTION}"
    },
    {
      "field": "Receipt",
      "example": "${RECEIPT}"
    },
    {
      "field": "Organization",
      "example": "${ORGANIZATION}"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Create and Submit the Sales Order",
      "action": "Create ${SALES_ORDER} for ${CUSTOMER} with ${ITEM} at ${QUANTITY} in ${ORGANIZATION}, referencing the existing Create Sales Order and Submit Sales Order scenarios.",
      "test_data": "${SALES_ORDER} / ${CUSTOMER} / ${ITEM} / ${QUANTITY} / ${ORGANIZATION}",
      "expected_result": "The sales order is created and submitted successfully, correctly recording the customer, item and quantity.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Schedule the Order",
      "action": "Schedule ${SALES_ORDER} for the requested delivery date, referencing the existing Schedule Order scenario.",
      "test_data": "${SALES_ORDER}",
      "expected_result": "The order is scheduled, in full or in part, with the scheduled quantity correctly recorded against each line.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Reserve Inventory",
      "action": "Reserve available inventory for ${ITEM} in ${ORGANIZATION} against ${SALES_ORDER}, referencing the existing Reserve Order scenario.",
      "test_data": "${SALES_ORDER} / ${ITEM} / ${ORGANIZATION}",
      "expected_result": "Inventory is reserved, in full or in part, and the reserved quantity correctly matches available supply.",
      "validation_type": "action"
    },
    {
      "step_number": 4,
      "step_name": "Release for Pick",
      "action": "Release ${SALES_ORDER} for pick, referencing the existing Pick Release scenario.",
      "test_data": "${SALES_ORDER} / ${ORGANIZATION}",
      "expected_result": "A pick task is generated correctly reflecting the reserved quantity.",
      "validation_type": "action"
    },
    {
      "step_number": 5,
      "step_name": "Confirm Shipment",
      "action": "Ship confirm the picked quantity for ${SALES_ORDER}, referencing the existing Ship Confirm scenario, generating ${SHIPMENT}.",
      "test_data": "${SALES_ORDER} / ${SHIPMENT}",
      "expected_result": "The shipment is confirmed and correctly references the originating sales order and picked quantity.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Generate the AR Billing Transaction",
      "action": "Create ${AR_TRANSACTION} referencing ${SHIPMENT}, per the existing Create Transaction (Billing) scenario.",
      "test_data": "${AR_TRANSACTION} / ${SHIPMENT}",
      "expected_result": "The AR transaction is created, with quantity and amount correctly derived from the shipped quantity.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Create and Apply the Customer Receipt",
      "action": "Create ${RECEIPT} for ${CUSTOMER} and apply it against the open balance on ${AR_TRANSACTION}, per the existing Create Standard Receipt and Apply Receipt scenarios.",
      "test_data": "${RECEIPT} / ${CUSTOMER} / ${AR_TRANSACTION}",
      "expected_result": "The receipt is created and correctly applies against the invoice, whether in full, in part, or across multiple transactions.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Verify Accounting Entries Reconcile",
      "action": "Review the accounting entries generated for ${AR_TRANSACTION} and ${RECEIPT} against the shipped and billed amount.",
      "test_data": "${AR_TRANSACTION} / ${RECEIPT}",
      "expected_result": "Accounting entries correctly reconcile to the shipped and billed amount for the journey.",
      "validation_type": "business_assertion",
      "note": "This is a primary business assertion for the journey — correct downstream accounting reconciliation, not just a successful save at each stage, is the expected pass condition."
    },
    {
      "step_number": 9,
      "step_name": "Verify Audit Trail Links Order Through Receipt",
      "action": "Trace ${SALES_ORDER} through ${SHIPMENT}, ${AR_TRANSACTION} and ${RECEIPT} to confirm the cross-stage reference chain is intact.",
      "test_data": "${SALES_ORDER} / ${SHIPMENT} / ${AR_TRANSACTION} / ${RECEIPT}",
      "expected_result": "Each downstream document correctly references its originating document, confirming end-to-end traceability.",
      "validation_type": "business_assertion",
      "note": "This is the second primary business assertion for the journey — confirming hand-off integrity across all nine stages, not merely that each individual stage completed."
    }
  ],
  "expected_results": [
    "The sales order correctly flows through scheduling, reservation, pick and ship confirm into a shipment referenced by AR billing.",
    "The AR transaction's quantity and amount correctly reflect the shipped quantity, not merely the ordered or reserved quantity.",
    "Partial and split shipments correctly generate their own corresponding AR transactions where supported.",
    "Customer receipts correctly apply against the correct open invoice, in full, in part, or across multiple transactions.",
    "Unapply and reverse receipt actions correctly restore the customer's open balance.",
    "Accounting entries correctly reconcile to the shipped and billed amount.",
    "The audit trail correctly links the sales order, shipment, AR transaction and receipt together."
  ],
  "validation_checkpoints": [
    "Reserved quantity correctly carries into shipment.",
    "Shipped quantity correctly drives AR billing quantity.",
    "Billing correctly generates for full, partial and split shipments.",
    "Receipt correctly applies against the correct invoice balance.",
    "Unapply and reverse correctly restore balances.",
    "Customer returns correctly generate credit memos.",
    "Accounting entries correctly reconcile the full chain.",
    "Document linkage is preserved end to end."
  ]
}
