Customer refunds

Customer refunds can be issued to pay a customer who has a negative balance, pay an advance that was never used, pay a credit that was never used. Issue a refund when another invoice will not be created for the customer or the customer would like their money back.

List customer refunds

get/objects/accounts-receivable/customer-refund

Returns a collection with a key, ID, and link for each customer refund.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "3",
      • "id": "REF1-01",
      • "href": "/objects/accounts-receivable/customer-refund/3"
      },
    • {
      • "key": "5",
      • "id": "REF1-02",
      • "href": "/objects/accounts-receivable/customer-refund/5"
      },
    • {
      • "key": "6",
      • "id": "REF1-03",
      • "href": "/objects/accounts-receivable/customer-refund/6"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100
    }
}

Create a customer refund

post/objects/accounts-receivable/customer-refund

Creates a new customer refund.

SecurityOAuth2
Request
Request Body schema: application/json
required
required
object

Financial account from which the refund payment will be made.

key
string

Financial account key.

Example: "23"
id
string

Financial account ID.

Example: "23"
paymentMethod
required
string

Payment method for customer refund.

Value: "eft"
Example: "eft"
required
object

Customer associated with the refund.

key
string

System-assigned key for the customer.

Example: "45"
id
string <= 21 characters

Identifier for the customer.

Example: "Cust-00064"
required
object

Pay to contact details for the AR refund.

key
string

System-assigned key for the contact.

Example: "45"
id
string

User defined unique identifier for the contact.

Example: "Cust-00064"
refundDate
required
string <date>

Date when customer refund was created.

Example: "2024-09-30"
state
string

State of customer refund.

Enum: "draft" "posted" "voided"
Example: "draft"
documentNumber
string

Document number for customer refund.

Example: "REF23"
description
string

Description for the customer refund.

Example: "This is a customer-refund for the customer against the invoice."
paymentDate
string <date>

Date when customer refund was done.

Example: "2024-09-30"
object

For multi-currency companies, the company's base currency.

currency
string

The company's base currency.

Example: "USD"
refundAmount
string <decimal-precision-2>

Total base amount.

Example: "500"
object

Transaction currency for the refund.

currency
string

The currency in which the refund was made.

Example: "USD"
refundAmount
string <decimal-precision-2> <= 14 characters

Total refund amount.

Example: "100.00"
bankReconciliationStatus
string
Default: "inTransit"

If set to true, the customer refund has been reconciled.

Enum: "" "cleared" "inTransit"
Example: null
bankReconciliationDate
string <date>

Reconciliation date for the customer refund.

Example: "2024-09-30"
object

AR summary the customer refund is part of. Summaries are collections of transactions grouped together for processing.

key
string <= 8 characters

System-assigned key for the AR summary.

Example: "1259"
id
string

Identifier for the AR summary.

Example: "1259"
name
string <= 100 characters

Name of the AR summary.

Example: "Feb 2023 batch"
Array of objects

Details for the refund.

Array
txnRefundAmount
required
string or null <decimal-precision-2>

The amount of the transaction in the payment currency.

Example: "243.00"
baseRefundAmount
string or null <decimal-precision-2>

The amount of the payment in the company's base currency.

Example: "10"
object

Overpayment record.

object

Overpayment line item record.

object

Negative invoice transaction record

object

Negative invoice transaction line item record.

object

Parent payment record.

object

AR adjustment transaction record.

object

AR adjustment transaction line item record.

object

AR advance record.

object

AR advance line item record.

object
Array of objects

Line items of the refund.

Array
memo
string

Memo or brief description of the AR refund line item.

Example: "Annual service charge"
object

GL account associated with the line item.

object
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "financialEntity": {
    • "id": "BOA"
    },
  • "paymentMethod": "eft",
  • "customer": {
    • "id": "1"
    },
  • "payTo": {
    • "key": "746"
    },
  • "refundDate": "2024-12-18",
  • "baseCurrency": {
    • "refundAmount": "150"
    },
  • "refundDetails": [
    • {
      • "negativeInvoice": {
        },
      • "txnRefundAmount": "50"
      },
    • {
      • "negativeInvoice": {
        },
      • "txnRefundAmount": "100"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "70",
    • "href": "/objects/accounts-receivable/customer-refund/70"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a customer refund

get/objects/accounts-receivable/customer-refund/{key}

Returns detailed information for a specified customer refund.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the customer refund.

Example: 99
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "2346",
    • "refundSummary": {
      • "id": "222",
      • "key": "222",
      • "name": "Refunds(Bank-BOA): 2025/03/31 Batch",
      • "href": "/objects/accounts-receivable/summary/222"
      },
    • "financialEntity": {
      • "id": "BOA",
      • "key": "BOA",
      • "href": "/objects/cash-management/bank-account/BOA"
      },
    • "state": "voided",
    • "paymentMethod": "eft",
    • "customer": {
      • "key": "1",
      • "id": "1",
      • "name": "Power Aerospace Materials",
      • "href": "/objects/accounts-receivable/customer/1"
      },
    • "payTo": {
      • "id": "AkashP",
      • "key": "779"
      },
    • "id": "Adj:0109:DB",
    • "documentNumber": null,
    • "description": null,
    • "refundDate": "2025-03-31",
    • "paymentDate": "2025-03-31",
    • "baseCurrency": {
      • "currency": "USD",
      • "refundAmount": "333.00",
      • "totalPaid": "333.00",
      • "totalDue": "0.00",
      • "totalSelected": "0.00"
      },
    • "txnCurrency": {
      • "currency": "USD",
      • "refundAmount": "333.00",
      • "totalPaid": "333.00",
      • "totalDue": "0.00",
      • "totalSelected": "0.00"
      },
    • "exchangeRate": {
      • "date": null,
      • "typeId": null,
      • "rate": null
      },
    • "bankReconciliationStatus": "inTransit",
    • "bankReconciliationDate": null,
    • "audit": {
      • "createdDateTime": "2025-04-01T05:16:17Z",
      • "modifiedDateTime": "2025-08-06T06:53:17Z",
      • "createdByUser": {
        },
      • "modifiedByUser": {
        }
      },
    • "entity": {
      • "key": null,
      • "id": null,
      • "name": null
      },
    • "lines": [
      • {
        },
      • {
        }
      ],
    • "refundDetails": [
      • {
        },
      • {
        }
      ],
    • "href": "/objects/accounts-receivable/customer-refund/2346"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a customer refund

patch/objects/accounts-receivable/customer-refund/{key}

Updates an existing customer refund by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the customer refund.

Example: 99
Request Body schema: application/json
state
string

State of customer refund.

Enum: "draft" "posted" "voided"
Example: "draft"
paymentMethod
string

Payment method for customer refund.

Value: "eft"
Example: "eft"
documentNumber
string

Document number for customer refund.

Example: "REF23"
description
string

Description for the customer refund.

Example: "This is a customer-refund for the customer against the invoice."
paymentDate
string <date>

Date when customer refund was done.

Example: "2024-09-30"
refundDate
string <date>

Date when customer refund was created.

Example: "2024-09-30"
object

For multi-currency companies, the company's base currency.

currency
string

The company's base currency.

Example: "USD"
refundAmount
string <decimal-precision-2>

Total base amount.

Example: "500"
object

Transaction currency for the refund.

currency
string

The currency in which the refund was made.

Example: "USD"
refundAmount
string <decimal-precision-2> <= 14 characters

Total refund amount.

Example: "100.00"
bankReconciliationStatus
string
Default: "inTransit"

If set to true, the customer refund has been reconciled.

Enum: "" "cleared" "inTransit"
Example: null
bankReconciliationDate
string <date>

Reconciliation date for the customer refund.

Example: "2024-09-30"
object

AR summary the customer refund is part of. Summaries are collections of transactions grouped together for processing.

key
string <= 8 characters

System-assigned key for the AR summary.

Example: "1259"
id
string

Identifier for the AR summary.

Example: "1259"
name
string <= 100 characters

Name of the AR summary.

Example: "Feb 2023 batch"
object

Customer associated with the refund.

key
string

System-assigned key for the customer.

Example: "45"
id
string <= 21 characters

Identifier for the customer.

Example: "Cust-00064"
object

Financial account from which the refund payment will be made.

key
string

Financial account key.

Example: "23"
id
string

Financial account ID.

Example: "23"
object

Pay to contact details for the AR refund.

key
string

System-assigned key for the contact.

Example: "45"
id
string

User defined unique identifier for the contact.

Example: "Cust-00064"
Array of objects

Details for the refund.

Array
baseRefundAmount
string or null <decimal-precision-2>

The amount of the payment in the company's base currency.

Example: "10"
txnRefundAmount
string or null <decimal-precision-2>

The amount of the transaction in the payment currency.

Example: "243.00"
object

Overpayment record.

object

Overpayment line item record.

object

Negative invoice transaction record

object

Negative invoice transaction line item record.

object

Parent payment record.

object

AR adjustment transaction record.

object

AR adjustment transaction line item record.

object

AR advance record.

object

AR advance line item record.

object
Array of objects

Line items of the refund.

Array
memo
string

Memo or brief description of the AR refund line item.

Example: "Annual service charge"
object

GL account associated with the line item.

object
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "financialEntity": {
    • "id": "BOA"
    },
  • "paymentMethod": "eft",
  • "customer": {
    • "id": "1"
    },
  • "payTo": {
    • "id": "Harpreet"
    },
  • "refundDate": "2024-12-18",
  • "baseCurrency": {
    • "refundAmount": "10"
    },
  • "refundDetails": [
    • {
      • "negativeInvoice": {
        },
      • "txnRefundAmount": "5"
      },
    • {
      • "negativeInvoice": {
        },
      • "txnRefundAmount": "5"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "67",
    • "href": "/objects/accounts-receivable/customer-refund/67"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a customer refund

delete/objects/accounts-receivable/customer-refund/{key}

Deletes a customer refund.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the customer refund.

Example: 99
Responses
204

No Content

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}

Reverse a customer refund

post/workflows/accounts-receivable/customer-refund/reverse

Reverse a customer refund

SecurityOAuth2
Request
Request Body schema: application/json
key
required
string

System-assigned key for customer refund.

Example: "22"
reversedDate
required
string <date>

Date this transactions is reversed.

Example: "2024-04-15"
description
string

Notes or comments about the reason for the reverse of the customer refund.

Example: "Reversed the refund for duplicate entry"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "key": "22",
  • "reversedDate": "2024-04-15",
  • "description": "Reversed the refund for duplicate entry"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "23",
    • "id": "REF-01",
    • "href": "/objects/accounts-receivable/customer-refund/23",
    • "state": "voided"
    },
  • "ia::meta": {
    • "totalCount": 3,
    • "totalSuccess": 2,
    • "totalError": 1
    }
}

Submit a customer refund

post/workflows/accounts-receivable/customer-refund/submit

Submits a customer refund

SecurityOAuth2
Request
Request Body schema: application/json
key
required
string

System-assigned key for the customer refund.

Example: "12"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "key": "12"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "12",
    • "id": "REF-02",
    • "href": "/objects/accounts-receivable/customer-refund/12",
    • "state": "posted"
    },
  • "ia::meta": {
    • "totalCount": 3,
    • "totalSuccess": 2,
    • "totalError": 1
    }
}