Create Proforma Invoice
Creates a proforma invoice and returns it as a response. If the information becomes outdated, simply void the old proforma invoice and generate a new one.
If you would like to preview the next billing amounts without generating a full proforma invoice, use the renewal preview endpoint.
Restrictions
Proforma invoices are only available on Relationship Invoicing sites. To create a proforma invoice, the subscription must not be in a group, must not be prepaid, and must be in a live state.
Authorization
BasicAuth The username is a Maxio Chargify API key. The password is x.
In: header
Path Parameters
The Chargify id of the subscription.
Response Body
application/json
application/json
curl -X POST "https://example.com/subscriptions/0/proforma_invoices.json"{ "uid": "string", "site_id": 0, "customer_id": 0, "subscription_id": 0, "number": 0, "sequence_number": 0, "created_at": "2019-08-24T14:15:22Z", "delivery_date": "2019-08-24", "status": "draft", "collection_method": "automatic", "payment_instructions": "string", "currency": "string", "consolidation_level": "none", "product_name": "string", "product_family_name": "string", "role": "unset", "seller": { "name": "string", "address": { "street": null, "line2": null, "city": null, "state": null, "zip": null, "country": null }, "phone": "string", "logo_url": "string" }, "customer": { "chargify_id": 0, "first_name": "string", "last_name": "string", "organization": null, "email": "string", "vat_number": "string", "reference": "string" }, "memo": "string", "billing_address": { "street": null, "line2": null, "city": null, "state": null, "zip": null, "country": null }, "shipping_address": { "street": null, "line2": null, "city": null, "state": null, "zip": null, "country": null }, "subtotal_amount": "string", "discount_amount": "string", "tax_amount": "string", "total_amount": "string", "credit_amount": "string", "paid_amount": "string", "refund_amount": "string", "due_amount": "string", "line_items": [ { "uid": "string", "title": "string", "description": "string", "quantity": "string", "unit_price": "string", "subtotal_amount": "string", "discount_amount": "string", "tax_amount": "string", "tax_included": true, "total_amount": "string", "tiered_unit_price": true, "period_range_start": "2019-08-24", "period_range_end": "2019-08-24", "transaction_id": 0, "product_id": 0, "product_version": 0, "component_id": 0, "price_point_id": 0, "billing_schedule_item_id": 0, "hide": true, "component_cost_data": null, "product_price_point_id": null, "custom_item": true, "kind": "string", "prepaid_allocation_expires_at": "2019-08-24" } ], "discounts": [ { "uid": "string", "title": "string", "code": "string", "source_type": "Coupon", "discount_type": "percentage", "eligible_amount": "string", "discount_amount": "string", "line_item_breakouts": [ { "uid": "string", "eligible_amount": "string", "discount_amount": "string" } ] } ], "taxes": [ { "uid": "string", "title": "string", "source_type": "Tax", "percentage": "string", "taxable_amount": "string", "tax_amount": "string", "line_item_breakouts": [ { "uid": "string", "taxable_amount": "string", "tax_amount": "string", "tax_exempt_amount": "string" } ] } ], "credits": [ { "uid": "string", "memo": "string", "original_amount": "string", "applied_amount": "string" } ], "payments": [ { "memo": "string", "original_amount": "string", "applied_amount": "string", "prepayment": true } ], "custom_fields": [ { "owner_id": 0, "owner_type": "Customer", "name": "string", "value": "string", "metadatum_id": 0 } ], "public_url": "string", "available_actions": { "send_email": { "can_execute": true, "url": "string" } }}List Subscription Proforma Invoices GET
Lists proforma invoices for a subscription. By default, results only include totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`, `payments`, or `custom_fields`. To include breakdowns, pass the specific field as a key in the query with a value set to `true`.
Deliver Proforma Invoice POST
Delivers a proforma invoice programmatically via email. Supports email delivery to direct recipients, carbon-copy (cc) recipients, and blind carbon-copy (bcc) recipients. If `recipient_emails` is omitted, the system will fall back to the primary recipient derived from the invoice or subscription. At least one recipient must be present, either via the request body or via this default behavior, so an empty body may still succeed when defaults are available.