{
  "test_id": "ORCL.O2C.OM.SO.DISCOUNT",
  "scenario_name": "Create Order With Discount",
  "application": "Oracle Fusion Cloud",
  "product": "SCM / Order Management",
  "module": "Order Management",
  "process": "Sales Orders",
  "business_flow": "Order-to-Cash",
  "scenario_type": "Positive / Functional",
  "priority": "High",
  "automation_status": "SyntraFlow Ready",
  "library": "Syntra Standard",
  "canonical_url": "https://www.syntraflow.cloud/oracle-erp-testing-tool/test-library/scm/order-management/sales-orders/create-order-with-discount/",
  "objective": {
    "intro": "The objective of this test is to validate application of a manual or automatic discount on a sales order line in Oracle Fusion SCM Order Management, and to confirm that the resulting net line amount is calculated correctly and is arithmetically consistent with the discount that was applied.",
    "confirms": [
      "a manual discount, entered directly on the order line as a percentage or amount, is accepted and correctly flagged as manual",
      "an automatic discount, applied by a configured pricing modifier, is accepted and correctly flagged as automatic",
      "the resulting net line amount satisfies Net Line Amount = (List Price × Quantity) − Discount Amount, where Discount Amount = List Price × Quantity × Discount Percentage for percentage-based discounts — for example (illustrative values only, not a business rule): ${LIST_PRICE}=100, ${QUANTITY}=10, ${DISCOUNT_PERCENTAGE}=20%, so Discount Amount = 100 × 10 × 20% = 200, and Net Line Amount = 100 × 10 − 200 = 800",
      "the discount applied is within the discount authority configured for the requesting user or role",
      "the order total correctly aggregates the discounted line amount together with any other lines on the order",
      "Oracle correctly enforces validation when data errors, configuration errors or security restrictions are introduced (DATA_ERROR, CONFIGURATION_ERROR, SECURITY_ERROR, EXPECTED_VALIDATION)"
    ],
    "scope_note": "This scenario covers applying a single manual or automatic discount to a sales order line in Oracle Fusion SCM Order Management TEST/UAT environments, and arithmetically verifying the resulting net line amount. It does not cover base order creation without a discount or tax calculation, which are covered by the separate Create Sales Order, Create Multi-Line Order and Create Order With Tax scenarios in the same Sales Orders cluster."
  },
  "preconditions": [
    "A sales order exists, or can be created, for a valid, active customer in the target Oracle Fusion SCM environment.",
    "Pricing and discount configuration is active for the customer, item or order type being tested.",
    "The discount type under test — manual override or automatic pricing modifier — has been determined before the test begins.",
    "The order entry test user has a defined discount authority limit configured against their role.",
    "The item on the order line being discounted is active and, where relevant, flagged as discountable."
  ],
  "test_data": [
    {
      "field": "Customer",
      "example": "${CUSTOMER}"
    },
    {
      "field": "Item",
      "example": "${ITEM}"
    },
    {
      "field": "Order Type",
      "example": "${ORDER_TYPE}"
    },
    {
      "field": "List Price",
      "example": "${LIST_PRICE}"
    },
    {
      "field": "Quantity",
      "example": "${QUANTITY}"
    },
    {
      "field": "Discount Type",
      "example": "${DISCOUNT_TYPE}"
    },
    {
      "field": "Discount Percentage",
      "example": "${DISCOUNT_PERCENTAGE}"
    },
    {
      "field": "Discount Amount",
      "example": "${DISCOUNT_AMOUNT}"
    },
    {
      "field": "Net Line Amount",
      "example": "${NET_LINE_AMOUNT}"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Sign In and Navigate to Order Management",
      "action": "Sign in to Oracle Fusion using an authorized order entry test user and navigate to the Order Management work area.",
      "test_data": "",
      "expected_result": "The Order Management work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Navigate to Sales Orders",
      "action": "Open the Sales Orders page for the customer whose order will receive a discount.",
      "test_data": "${CUSTOMER}",
      "expected_result": "The sales order search or creation page opens for the correct customer.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Create or Open a Sales Order",
      "action": "Create a new sales order, or open an existing order, for the test customer and item.",
      "test_data": "${CUSTOMER} / ${ITEM} / ${ORDER_TYPE}",
      "expected_result": "A sales order is created or opened with the correct customer, item and order type.",
      "validation_type": "action"
    },
    {
      "step_number": 4,
      "step_name": "Select the Line to Discount",
      "action": "Select the order line the discount will be applied to and confirm its list price and quantity.",
      "test_data": "${LIST_PRICE} / ${QUANTITY}",
      "expected_result": "The correct order line is selected, showing the expected list price and quantity.",
      "validation_type": "action"
    },
    {
      "step_number": 5,
      "step_name": "Apply the Discount",
      "action": "Apply a manual discount override, or allow a configured automatic pricing modifier to apply, according to the discount type under test.",
      "test_data": "${DISCOUNT_TYPE} / ${DISCOUNT_PERCENTAGE} / ${DISCOUNT_AMOUNT}",
      "expected_result": "The discount is accepted and reflected on the order line without unexpected validation errors.",
      "validation_type": "action",
      "note": "This step exercises both the manual and automatic discount paths depending on the variation under test."
    },
    {
      "step_number": 6,
      "step_name": "Review the Calculated Net Line Amount",
      "action": "Review the net line amount Oracle Fusion calculates on the order line after the discount is applied.",
      "test_data": "${NET_LINE_AMOUNT}",
      "expected_result": "Oracle Fusion displays a calculated net line amount for the discounted line.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Verify the Arithmetic Against the Expected Formula",
      "action": "Confirm the displayed net line amount matches Net Line Amount = (List Price × Quantity) − Discount Amount, where Discount Amount = List Price × Quantity × Discount Percentage for percentage-based discounts.",
      "test_data": "${LIST_PRICE} × ${QUANTITY} − ${DISCOUNT_AMOUNT} = ${NET_LINE_AMOUNT}",
      "expected_result": "The net line amount calculated by Oracle Fusion equals List Price × Quantity − Discount Amount. Illustrative example only: 100 × 10 − 200 = 800; the mandatory check is that the actual values on the order line satisfy the same formula.",
      "validation_type": "business_assertion",
      "note": "This is the primary business assertion for the scenario — the discount is only proven correct once the resulting net line amount is confirmed arithmetically, not merely displayed."
    },
    {
      "step_number": 8,
      "step_name": "Submit and Confirm Order Total",
      "action": "Submit the sales order and confirm that the order total correctly aggregates the discounted line amount together with any other lines.",
      "test_data": "",
      "expected_result": "The sales order is submitted successfully and the order total correctly reflects the discounted line amount.",
      "validation_type": "action"
    }
  ],
  "expected_results": [
    "The discount is applied to the correct sales order line.",
    "The discount is correctly flagged as manual or automatic based on how it was applied.",
    "The net line amount equals List Price × Quantity − Discount Amount, verified arithmetically against the values entered.",
    "The applied discount is within the discount authority configured for the requesting user, or is routed for approval where it is not.",
    "The order total correctly aggregates the discounted line amount together with any other lines on the order.",
    "The sales order is visible and traceable for the test user with the discount reflected."
  ],
  "validation_checkpoints": [
    "Net line amount equals list price × quantity minus discount amount, verified arithmetically — for example (illustrative values only): ${LIST_PRICE} × ${QUANTITY} − ${DISCOUNT_AMOUNT} = ${NET_LINE_AMOUNT}, e.g. 100 × 10 − 200 = 800.",
    "Discount correctly flagged as manual vs automatic.",
    "Discount within configured authority limits for the requesting user.",
    "Order total correctly aggregates discounted line amounts."
  ]
}
