Apideck · Schema

Refund

IntegrationsUnified API

Properties

Name Type Description
id string Unique identifier representing the refund
number string Reference number for the refund.
customer object
company_id object
currency object
currency_rate object
tax_inclusive object
sub_total object
total_amount object
total_tax object
refund_date string The date of the refund - YYYY-MM-DDThh:mm:ss.sTZD
status object
type object
payment_method object
payment_method_reference object
payment_method_id object
account object
line_items array Line items for itemized refunds (type: refund_receipt). Used when the refund includes product/service details with quantities and pricing. Supported by QBO RefundReceipt and NetSuite CashRefund.
allocations array Allocations linking refund to existing documents (invoices, credit notes, overpayments). Used for credit_note_refund and cash_refund types where the refund is applied against prior transactions. Suppo
tax_code string Applicable tax id/code override if tax is not supplied on a line item basis.
discount_percentage number Discount percentage applied to this refund.
discount_amount number Discount amount applied to this refund.
note string Optional note to be associated with the refund.
customer_memo string Customer memo
reference string Optional reference message for the refund.
billing_address object
shipping_address object
department object
location object
tracking_categories object
custom_mappings object
custom_fields array
row_version object
updated_by object
created_by object
updated_at object
created_at object
pass_through object
View JSON Schema on GitHub

JSON Schema

apideck-refund-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Refund",
  "title": "Refund",
  "type": "object",
  "x-apideck-schema-id": "Refund",
  "x-apideck-weights": {
    "id": "critical",
    "number": "medium",
    "customer": "critical",
    "company_id": "medium",
    "currency": "critical",
    "currency_rate": "edge-case",
    "tax_inclusive": "low",
    "sub_total": "edge-case",
    "total_amount": "critical",
    "total_tax": "edge-case",
    "refund_date": "critical",
    "status": "high",
    "type": "high",
    "payment_method": "high",
    "payment_method_reference": "medium",
    "payment_method_id": "edge-case",
    "account": "critical",
    "line_items": "medium",
    "allocations": "high",
    "note": "low",
    "reference": "medium",
    "billing_address": "edge-case",
    "shipping_address": "edge-case",
    "department": "low",
    "location": "low",
    "tracking_categories": "low",
    "tax_code": "low",
    "discount_percentage": "edge-case",
    "discount_amount": "edge-case",
    "customer_memo": "edge-case",
    "custom_fields": "medium",
    "row_version": "edge-case",
    "updated_by": "edge-case",
    "created_by": "edge-case",
    "created_at": "medium",
    "updated_at": "medium"
  },
  "required": [
    "id",
    "total_amount"
  ],
  "x-apideck-strict-required": [
    "total_amount",
    "customer"
  ],
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string",
      "title": "Refund ID",
      "description": "Unique identifier representing the refund",
      "example": "123456",
      "readOnly": true
    },
    "number": {
      "type": "string",
      "title": "Refund number",
      "description": "Reference number for the refund.",
      "example": "RF-00001",
      "nullable": true
    },
    "customer": {
      "$ref": "#/components/schemas/LinkedCustomer"
    },
    "company_id": {
      "$ref": "#/components/schemas/AccountingCompanyId"
    },
    "currency": {
      "$ref": "#/components/schemas/Currency"
    },
    "currency_rate": {
      "$ref": "#/components/schemas/CurrencyRate"
    },
    "tax_inclusive": {
      "$ref": "#/components/schemas/TaxInclusive"
    },
    "sub_total": {
      "$ref": "#/components/schemas/SubTotal"
    },
    "total_amount": {
      "$ref": "#/components/schemas/TotalAmount"
    },
    "total_tax": {
      "$ref": "#/components/schemas/TotalTax"
    },
    "refund_date": {
      "type": "string",
      "title": "Refund Date",
      "description": "The date of the refund - YYYY-MM-DDThh:mm:ss.sTZD",
      "format": "date-time",
      "example": "2021-05-01T12:00:00.000Z",
      "nullable": true
    },
    "status": {
      "$ref": "#/components/schemas/RefundStatus"
    },
    "type": {
      "$ref": "#/components/schemas/RefundType"
    },
    "payment_method": {
      "$ref": "#/components/schemas/PaymentMethod"
    },
    "payment_method_reference": {
      "$ref": "#/components/schemas/PaymentMethodReference"
    },
    "payment_method_id": {
      "$ref": "#/components/schemas/WritableId"
    },
    "account": {
      "$ref": "#/components/schemas/LinkedLedgerAccount"
    },
    "line_items": {
      "type": "array",
      "description": "Line items for itemized refunds (type: refund_receipt). Used when the refund includes product/service details with quantities and pricing. Supported by QBO RefundReceipt and NetSuite CashRefund.",
      "items": {
        "$ref": "#/components/schemas/InvoiceLineItem"
      }
    },
    "allocations": {
      "type": "array",
      "description": "Allocations linking refund to existing documents (invoices, credit notes, overpayments). Used for credit_note_refund and cash_refund types where the refund is applied against prior transactions. Supported by Sage Intacct and Zoho Books.",
      "items": {
        "$ref": "#/components/schemas/Allocation"
      }
    },
    "tax_code": {
      "type": "string",
      "title": "Tax Code",
      "description": "Applicable tax id/code override if tax is not supplied on a line item basis.",
      "example": "1234",
      "nullable": true
    },
    "discount_percentage": {
      "type": "number",
      "title": "Discount Percent",
      "description": "Discount percentage applied to this refund.",
      "example": 5.5,
      "nullable": true
    },
    "discount_amount": {
      "type": "number",
      "title": "Discount Amount",
      "description": "Discount amount applied to this refund.",
      "example": 25,
      "nullable": true
    },
    "note": {
      "type": "string",
      "title": "Note",
      "description": "Optional note to be associated with the refund.",
      "example": "Refund for returned items",
      "nullable": true
    },
    "customer_memo": {
      "type": "string",
      "title": "Customer memo",
      "description": "Customer memo",
      "example": "Thank you for your business and have a great day!",
      "nullable": true
    },
    "reference": {
      "type": "string",
      "title": "Reference",
      "description": "Optional reference message for the refund.",
      "example": "REF-123456",
      "nullable": true
    },
    "billing_address": {
      "$ref": "#/components/schemas/Address"
    },
    "shipping_address": {
      "$ref": "#/components/schemas/Address"
    },
    "department": {
      "$ref": "#/components/schemas/LinkedDepartment"
    },
    "location": {
      "$ref": "#/components/schemas/LinkedLocation"
    },
    "tracking_categories": {
      "$ref": "#/components/schemas/LinkedTrackingCategories"
    },
    "custom_mappings": {
      "$ref": "#/components/schemas/CustomMappings"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomField"
      }
    },
    "row_version": {
      "$ref": "#/components/schemas/RowVersion"
    },
    "updated_by": {
      "$ref": "#/components/schemas/UpdatedBy"
    },
    "created_by": {
      "$ref": "#/components/schemas/CreatedBy"
    },
    "updated_at": {
      "$ref": "#/components/schemas/UpdatedAt"
    },
    "created_at": {
      "$ref": "#/components/schemas/CreatedAt"
    },
    "pass_through": {
      "$ref": "#/components/schemas/PassThroughBody"
    }
  }
}