Advances
Price an advance, then take it.
Request an advance against an invoice
Prices the advance, checks the business is eligible and within its limit, and creates it unassigned. A funder is put behind it afterwards. Idempotent per invoice: asking twice returns the advance you already have rather than creating a second one.
Request an advance against an invoice › Request Body
payeeExternalIdYour own identifier for the business, as supplied when you synced it. You never need to store a Lunch identifier.
invoiceExternalIdYour own identifier for the invoice, as supplied when you synced it.
Request an advance against an invoice › Responses
The advance, priced. Also returned when one already existed.
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: alreadyRequested, financeableAmount, advanceAmount +2 more | |
| type = object · requires: alreadyRequested, financeableAmount, advanceAmount |
alreadyRequestedfinanceableAmountAn amount in integer cents. 1050 is $10.50.
advanceAmountAn amount in integer cents. 1050 is $10.50.
feeTotalAn amount in integer cents. 1050 is $10.50.
forwardedAtPaymentAn amount in integer cents. 1050 is $10.50.
Quote an advance against an invoice
Quote an advance against an invoice › Request Body
externalIdYour own identifier for the business, as supplied when you synced it. You never need to store a Lunch identifier.
invoiceFaceValueThe invoice face value in integer cents. Must be positive, and at most 2147483647, which is $21,474,836.47.
Quote an advance against an invoice › Responses
The priced advance
financeableAmountAn amount in integer cents. 1050 is $10.50.
advanceAmountAn amount in integer cents. 1050 is $10.50.
feeTotalAn amount in integer cents. 1050 is $10.50.
forwardedAtPaymentWhat forwards to the business when the invoice is paid in full, after the advance and fees. The advance itself is sent up front in full.
fundableWhether an advance could actually be created right now: this invoice amount is financeable, the business has cleared all three onboarding gates, and the advance fits its limit. The same set POST /v1/advances enforces, so a true here is not followed by a 409 there.
notFundableReasonWhy not, in a sentence, or null when it is fundable. It names the gate or the condition, never the amounts behind the limit, which span every partner serving this business.

