Skip to main content

Adjustments API

Preview and record credits, fees, discounts, tax corrections, refunds, and partial payments.

Adjustment endpoints change the balance or financial history of an invoice. Use the preview endpoint before you apply a fixed or percentage adjustment in a workflow for operators.

/v1/receivables/adjustments

Endpoints and Schemas

MethodPathRequest schemaSuccess response
GET/history/{invoiceId}query: limit, offsetAdjustmentHistoryResponse
POST/previewPreviewAdjustmentRequestAdjustmentPreviewResponse
POST/creditAddCreditRequestAdjustmentResultResponse
POST/feeAddFeeRequestAdjustmentResultResponse
POST/discountApplyDiscountRequestDiscountAppliedResponse
POST/taxAdjustTaxRequestTaxAdjustedResponse
POST/refundIssueRefundRequestRefundIssuedResponse
POST/partial-paymentRecordPartialPaymentRequestPartialPaymentResponse
DELETE/discount/{invoiceId}noneDiscountRemovedResponse
DELETE/fee/{invoiceId}query: adjustmentId for a specific feeFeeRemovedResponse

All paths are relative to /v1/receivables/adjustments.

Common Request Fields

FieldTypeNeededContract
invoiceIdUUID stringyes for write bodiesInvoice must belong to the active organization.
amountdecimal stringyes where presentFixed adjustment amount, or percentage when isPercentage=true.
isPercentagebooleannoDefaults to false; percentage discounts cannot exceed 100.
descriptionstringnoMaximum 500 characters and retained in adjustment history.
feeTypeenumnolate_fee, service_charge, processing_fee, or other.
newTaxAmountdecimal stringtax onlyReplaces the absolute tax amount; it is not an increment.
paidAtISO 8601 date-timenoDefaults to server time for partial payments.

Preview Before You Apply

curl -X POST https://api.conduitt.io/v1/receivables/adjustments/preview \
  -H "Authorization: Bearer ck_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "invoiceId": "550e8400-e29b-41d4-a716-446655440000",
    "adjustmentType": "discount",
    "amount": "10",
    "isPercentage": true
  }'

The preview response includes the current amount, calculated adjustment, new amount, and whether the operation is valid. Do not reuse a preview indefinitely. Refresh it when the invoice changes, before you submit the live adjustment.

Apply a Fee

{
  "invoiceId": "550e8400-e29b-41d4-a716-446655440000",
  "amount": "25.00",
  "feeType": "late_fee",
  "description": "Late fee under the agreed payment terms"
}

Mutation responses return the affected invoice identifier, the adjustment result, and recalculated totals. Use those totals as authoritative and invalidate invoice detail, balance, aging, and adjustment-history caches after success.

Safety and Recovery

  • never calculate the committed invoice total only on the client
  • do not retry refunds or partial-payment mutations blindly after a timeout
  • preserve the adjustment or payment identifier returned by the API for audit and recovery
  • check adjustment history before you remove a fee or discount when many adjustments exist

We use cookies to improve your experience, analyze traffic, and personalize content.