{
  "test_id": "ORCL.P2P.AP.PAY.FULL",
  "scenario_name": "Pay Invoice in Full",
  "application": "Oracle Fusion Cloud",
  "product": "Financials",
  "module": "Accounts Payable",
  "process": "Payments",
  "business_flow": "Procure-to-Pay",
  "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/financials/accounts-payable/payments/pay-invoice-in-full/",
  "objective": {
    "intro": "The objective of this test is to verify that an eligible, unpaid supplier invoice in Oracle Fusion Accounts Payable can be settled in full — with the payment amount matching the outstanding balance, the remaining balance dropping to zero, and the invoice payment status correctly reflecting settlement.",
    "confirms": [
      "the invoice selected for payment is eligible — validated, approved where required, not on hold, and not already fully paid",
      "the full outstanding balance is correctly identified before payment is initiated",
      "the payment amount created equals the eligible outstanding balance, satisfying Original Invoice Amount − Payment = Remaining Balance (0)",
      "the selected payment method and disbursement bank account are accepted",
      "the payment is created without unexpected errors",
      "the invoice's remaining balance updates to zero after the payment is confirmed",
      "the invoice payment status updates to Paid, or an equivalent fully-paid status",
      "the created payment is correctly linked to the source invoice for later validation and accounting scenarios"
    ],
    "scope_note": "This scenario validates the standard full-settlement path within the Create/Select stage of the AP Payment lifecycle. It does not attempt to validate downstream payment validation, electronic payment processing or payment accounting — those are addressed by separate test scenarios within the same lifecycle."
  },
  "preconditions": [
    "The invoice exists in Oracle Fusion Accounts Payable and has been validated.",
    "The invoice is approved where an approval workflow is required.",
    "The invoice is not already fully paid.",
    "The invoice is not on hold.",
    "The supplier, disbursement bank account and payment method are configured for the test business unit.",
    "The accounting period intended for the payment is open."
  ],
  "test_data": [
    {
      "field": "Business Unit",
      "example": "${BUSINESS_UNIT}"
    },
    {
      "field": "Supplier",
      "example": "${SUPPLIER}"
    },
    {
      "field": "Invoice Number",
      "example": "${INVOICE_NUMBER}"
    },
    {
      "field": "Invoice Amount",
      "example": "${INVOICE_AMOUNT}"
    },
    {
      "field": "Outstanding Balance",
      "example": "${OUTSTANDING_BALANCE}"
    },
    {
      "field": "Payment Method",
      "example": "${PAYMENT_METHOD}"
    },
    {
      "field": "Disbursement Bank Account",
      "example": "${DISBURSEMENT_BANK_ACCOUNT}"
    },
    {
      "field": "Payment Date",
      "example": "${PAYMENT_DATE}"
    },
    {
      "field": "Payment Currency",
      "example": "${PAYMENT_CURRENCY}"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Navigate to Accounts Payable",
      "action": "Navigate to the Oracle Fusion Accounts Payable Payments work area.",
      "test_data": "",
      "expected_result": "The Payments work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Locate the Eligible Invoice",
      "action": "Search for and open the supplier invoice to be paid.",
      "test_data": "${SUPPLIER} / ${INVOICE_NUMBER}",
      "expected_result": "The correct invoice is located and its status confirms it is validated, approved where required, and not already fully paid.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as opening invoice search, entering the supplier and invoice number, and selecting the result."
    },
    {
      "step_number": 3,
      "step_name": "Review Outstanding Balance",
      "action": "Review the invoice's current outstanding balance.",
      "test_data": "${OUTSTANDING_BALANCE}",
      "expected_result": "The displayed outstanding balance matches the expected amount for the invoice.",
      "validation_type": "action"
    },
    {
      "step_number": 4,
      "step_name": "Initiate Full Payment",
      "action": "Select the option to pay the invoice in full.",
      "test_data": "",
      "expected_result": "Oracle Fusion pre-populates the payment amount with the full outstanding balance.",
      "validation_type": "action"
    },
    {
      "step_number": 5,
      "step_name": "Select Payment Method",
      "action": "Select the payment method to be used for settlement.",
      "test_data": "${PAYMENT_METHOD}",
      "expected_result": "The selected payment method is accepted.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Select Disbursement Bank Account",
      "action": "Select the disbursement bank account the payment will be issued from.",
      "test_data": "${DISBURSEMENT_BANK_ACCOUNT}",
      "expected_result": "The selected bank account is accepted for the payment.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Confirm Payment Date and Currency",
      "action": "Confirm the payment date and payment currency for the transaction.",
      "test_data": "${PAYMENT_DATE} / ${PAYMENT_CURRENCY}",
      "expected_result": "Payment date and currency are accepted.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Confirm Payment Amount Equals Outstanding Balance",
      "action": "Confirm that the payment amount equals the full eligible outstanding balance before submitting.",
      "test_data": "${INVOICE_AMOUNT} / ${OUTSTANDING_BALANCE}",
      "expected_result": "The payment amount matches the outstanding balance exactly, with no partial amount entered.",
      "validation_type": "action"
    },
    {
      "step_number": 9,
      "step_name": "Create / Confirm Payment",
      "action": "Submit the transaction to create and confirm the payment.",
      "test_data": "",
      "expected_result": "Oracle Fusion successfully creates the payment without unexpected errors.",
      "validation_type": "action"
    },
    {
      "step_number": 10,
      "step_name": "Verify Remaining Balance Is Zero",
      "action": "Review the invoice's remaining balance after the payment is created.",
      "test_data": "",
      "expected_result": "Remaining invoice balance equals zero: Original Invoice Amount − Payment = Remaining Balance (0).",
      "validation_type": "business_assertion",
      "note": "This is the primary arithmetic business assertion for the scenario — the test does not stop merely because the payment was submitted successfully."
    },
    {
      "step_number": 11,
      "step_name": "Verify Invoice Status Is Paid",
      "action": "Confirm the invoice payment status after the payment is created.",
      "test_data": "",
      "expected_result": "Invoice payment status updates to Paid, or an equivalent fully-paid status.",
      "validation_type": "business_assertion"
    },
    {
      "step_number": 12,
      "step_name": "Capture Payment Identifier",
      "action": "Capture the payment reference created for the invoice and confirm it is linked to the correct invoice.",
      "test_data": "",
      "expected_result": "A payment record and identifier exist and are correctly linked to the source invoice, with no unexpected outstanding balance remaining.",
      "validation_type": "business_assertion",
      "note": "Confirms the payment record exists and traces correctly back to the settled invoice."
    }
  ],
  "expected_results": [
    "An eligible invoice's outstanding balance is settled in full.",
    "Payment amount equals the eligible outstanding balance at time of payment.",
    "Remaining invoice balance becomes zero after the payment is created.",
    "Invoice payment status updates correctly to reflect full settlement.",
    "The payment is correctly linked to the source invoice.",
    "No unexpected outstanding balance remains on the invoice.",
    "A valid payment record and identifier exist for the transaction.",
    "The payment is available for subsequent validation and accounting scenarios."
  ],
  "validation_checkpoints": [
    "Payment amount equals the eligible outstanding balance at time of payment.",
    "Remaining balance becomes zero: Original Invoice Amount − Payment = Remaining Balance (0).",
    "Invoice payment status is updated correctly.",
    "Payment is linked to the correct invoice.",
    "No unexpected outstanding balance remains after payment.",
    "A payment record exists for the transaction."
  ]
}
