Skip to main content
POST
/
v1
/
invoices
/
{invoiceId}
/
payments
Apply payment to invoice
curl --request POST \
  --url https://app.blinksale.test/api/v1/invoices/{invoiceId}/payments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "amount": 500,
  "is_settled": true,
  "notes": "Partial payment via check #12345"
}
'
{
  "success": true,
  "message": "Payment applied successfully",
  "data": {
    "payment": {
      "id": "01jtbf0c9zaraqx3swthf88n5y",
      "organization_id": "01jtbf0c9zaraqx3swthf88n5y",
      "invoice_id": "01jtbf0c9zaraqx3swthf88n5y",
      "amount": 500,
      "is_settled": true,
      "payment_date": "2023-06-25",
      "notes": "Payment via check #12345",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z"
    },
    "invoice": {
      "id": "01jtbf0c9zaraqx3swthf88n5y",
      "organization_id": "01jtbf0c9zaraqx3swthf88n5y",
      "client_id": "01jtbf0c9zaraqx3swthf88n5y",
      "converted_from": "01jtbf0c9zaraqx3swthf88n5y",
      "converted_from_number": "EST-00001",
      "invoice_number": "INV-00001",
      "prefix": "INV-",
      "number": 1,
      "currency": "USD",
      "currency_name": "US Dollar",
      "currency_symbol": "$",
      "tax_id": "01jtbf0c9zaraqx3swthf88n5y",
      "tax_name": "Sales Tax",
      "tax_percent": 8.5,
      "tax_distribution": "PER_DOCUMENT",
      "tax_distribution_name": "Per Document",
      "discount_type": "PERCENTAGE",
      "discount_type_name": "Percentage",
      "discount_value": 10,
      "discount_distribution": "PER_DOCUMENT",
      "discount_distribution_name": "Per Document",
      "net_terms": "NET30",
      "net_terms_name": "Net 30",
      "has_late_fee": true,
      "late_fee_kind": "PERCENTAGE",
      "late_fee_kind_name": "Percentage",
      "late_fee_interval": "ONE_TIME",
      "late_fee_interval_name": "One Time",
      "late_fee": 5,
      "next_late_fee_update_at": "2023-11-07T05:31:56Z",
      "total_late_fee": 0,
      "shipping": 15,
      "total": 1642.5,
      "total_paid": 0,
      "total_due": 1642.5,
      "total_due_unsettled": 1642.5,
      "notes": "Payment due within 30 days.",
      "options": {},
      "status": "DRAFT",
      "status_name": "Draft",
      "is_editable": true,
      "issued_at": "2023-06-15",
      "due_at": "2023-07-15",
      "client": {
        "id": "01jtbf0c9zaraqx3swthf88n5y",
        "name": "Acme Inc",
        "email": "[email protected]",
        "kind": "BUSINESS",
        "kind_name": "Business",
        "profile": {
          "company_name": "Acme Inc",
          "website": "https://acme.com"
        },
        "address": {
          "line1": "123 Main St",
          "line2": "Suite 101",
          "city": "San Francisco",
          "state": "CA",
          "zip": "94107",
          "country": "US"
        },
        "document_defaults": {
          "currency": "USD"
        },
        "contact_count": 3,
        "note_count": 2,
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z"
      },
      "organization": {
        "id": "01jtbf0c9zaraqx3swthf88n5y",
        "name": "Acme Inc",
        "stripe_id": "<string>",
        "subscription": {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "status": "ACTIVE",
          "plan": "FREE",
          "trial_ends_at": "2023-11-07T05:31:56Z",
          "ends_at": "2023-11-07T05:31:56Z",
          "created_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z"
        },
        "profile": {},
        "role": "OWNER",
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z"
      },
      "line_items": [
        {
          "id": "01jtbf0c9zaraqx3swthf88n5y",
          "organization_id": "01jtbf0c9zaraqx3swthf88n5y",
          "name": "Consulting Services",
          "description": "Professional consulting services",
          "quantity": 10,
          "price": 150,
          "unit_of_measurement_id": "01jtbf0c9zaraqx3swthf88n5y",
          "unit_name": "Hour",
          "tax_id": "01jtbf0c9zaraqx3swthf88n5y",
          "tax_name": "Sales Tax",
          "tax_percent": 8.5,
          "discount_type": "PERCENTAGE",
          "discount_value": 10,
          "subtotal": 1500,
          "tax_amount": 127.5,
          "total": 1627.5
        }
      ],
      "subtotal": 1500,
      "document_discount": 0,
      "tax_amount": 127.5,
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z"
    },
    "old_status": "SENT",
    "new_status": "PARTIAL"
  }
}

Authorizations

Authorization
string
header
required

Access token obtained from the /v1/auth/login endpoint

Path Parameters

invoiceId
string<uuid>
required

The ID of the invoice to apply payment to

Body

application/json
amount
number<float>
required
Example:

500

is_settled
boolean
default:true
Example:

true

notes
string | null
Example:

"Partial payment via check #12345"

Response

Payment applied successfully

success
boolean
Example:

true

message
string
Example:

"Payment applied successfully"

data
object