Skip to main content

Handle Overpayments

Zuora

Handle Overpayments

At times, customers will overpay the amount due on their invoices. With Zuora's credit balance feature, you can track overpayments, and store credit on a customers account, which can then be later used to pay for future charges or refunded back to the customer. Zuora tracks all payments, invoices, and refunds.

Overpayment Use Cases

There are two primary use cases for overpayments:

  • A customer makes a payment against an invoice (or invoices), and also overpays.
  • A customer makes a payment for future charges, but no funds are applied to invoices at the time of payment.

Handling Overpayment of an Invoice

To accept an overpayment of an invoice, the following actions take place in Zuora:

  • Process a payment
  • Apply a payment against an invoice
  • Store the remaining funds on the account's credit balance

You can use a single API call to accept an overpayment of an invoice:

  1. Create a payment.
  2. Specify ID of the invoice to which payment will be applied.
  3. Specify the amount of the payment to apply to the invoice.
  4. Specify the amount of the payment that to apply to the customer's credit balance.
  5. Specify other required payment fields, such as the ID of the PaymentMethod, the payment type (electronic vs. external), and the process date.

SOAP Example

<ns1:create xmlns:ns1="http://api.zuora.com/">
  <ns1:zObjects xmlns:ns2="http://object.api.zuora.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:Payment">                 
    <ns2:AccountId>4028e485225d1d5f0122662fd6b249c8</ns2:AccountId>
    <ns2:InvoiceId>4028e485225d1d5f012266s2fd6bf49f8</ns2:AccountId>
    <ns2:AppliedInvoiceAmount>100</ns2:AppliedInvoiceAmount>
    <ns2:AppliedCreditBalanceAmount>50</ns2:AppliedCreditBalanceAmount>
    <ns2:EffectiveDate>2009-11-09</ns2:EffectiveDate>
    <ns2:PaymentMethodId>9f9fde6aa678102bb59000188b619ff8</ns2:PaymentMethodId>
    <ns2:Status>Processed</ns2:Status>
    <ns2:Type>Electronic</ns2:Type>
  </ns1:zObjects>
</ns1:create>

Handling Payments Not Applied to Any Invoices (Payment for Future Charges)

To accept an overpayment not applied to an invoice, the following actions take place in Zuora:

  • Process a payment
  • Store the entire amount on the account's credit balance

You can use a single API call to accept an overpayment:

  1. Create a payment.
  2. Specify the amount of the payment that is to be applied to the customer's credit balance.
  3. Specify other required payment fields, such as the ID of the PaymentMethod, the payment type (electronic vs. external), and the process date.

SOAP Example

<ns1:create xmlns:ns1="http://api.zuora.com/">
  <ns1:zObjects xmlns:ns2="http://object.api.zuora.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:Payment">                 
    <ns2:AccountId>4028e485225d1d5f0122662fd6b249c8</ns2:AccountId>
    <ns2:AppliedCreditBalanceAmount>50</ns2:AppliedCreditBalanceAmount>
    <ns2:EffectiveDate>2009-11-09</ns2:EffectiveDate>
    <ns2:PaymentMethodId>9f9fde6aa678102bb59000188b619ff8</ns2:PaymentMethodId>
    <ns2:Status>Processed</ns2:Status>
    <ns2:Type>Electronic</ns2:Type>
  </ns1:zObjects>
</ns1:create>