POST
/
api
/
external
/
v2
/
billing_subscriptions
Create a billing subscription
curl --request POST \
  --url https://app.pennylane.com/api/external/v2/billing_subscriptions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "start": "2023-01-01",
  "mode": {
    "type": "email",
    "email_settings": {
      "recipients": [
        "customer@example.com",
        "accounting@example.com"
      ]
    }
  },
  "payment_conditions": "upon_receipt",
  "payment_method": "offline",
  "recurring_rule": {
    "type": "yearly",
    "interval": 123,
    "count": 12
  },
  "customer_id": 42,
  "customer_invoice_data": {
    "currency": "EUR",
    "customer_invoice_template_id": 42,
    "pdf_invoice_free_text": "Additional free field",
    "pdf_invoice_subject": "Invoice title",
    "pdf_description": "Invoice description",
    "special_mention": "Additional details",
    "language": "fr_FR",
    "discount": {
      "type": "absolute",
      "value": "25"
    },
    "invoice_line_sections": [
      {
        "title": "Invoice line section title",
        "description": "Description of the invoice line section",
        "rank": 1
      }
    ],
    "invoice_lines": [
      {
        "label": "Demo label",
        "quantity": 12,
        "unit": "piece",
        "raw_currency_unit_price": "33.333334",
        "vat_rate": "FR_200",
        "description": "<string>",
        "section_rank": 1,
        "discount": {
          "type": "absolute",
          "value": "25"
        },
        "ledger_account_id": 1255,
        "product_id": 42
      }
    ]
  }
}'
{
  "id": 42,
  "next_occurrence": "2023-01-01",
  "prev_occurrence": "2023-01-01",
  "stopped_at": "2023-08-30T10:08:08.146343Z",
  "start": "2023-01-01",
  "finish": "2023-12-31",
  "status": "draft",
  "mode": "awaiting_validation",
  "activated_at": "2023-08-30T10:08:08.146343Z",
  "payment_conditions": "upon_receipt",
  "payment_method": "offline",
  "email_settings": {
    "recipients": [
      "jsmith@example.com"
    ],
    "billing_email_template": {
      "id": 123,
      "label": "<string>"
    }
  },
  "recurring_rule": {
    "day_of_month": [
      123
    ],
    "week_start": 123,
    "day": [
      123
    ],
    "rule_type": "monthly",
    "interval": 123,
    "count": 12,
    "until": "<string>"
  },
  "customer": {
    "id": 42,
    "url": "https://app.pennylane.com/api/external/v2/customers/42"
  },
  "customer_invoice_data": {
    "label": "Demo label",
    "currency": "EUR",
    "amount": "230.32",
    "currency_amount": "230.32",
    "currency_amount_before_tax": "196.32",
    "exchange_rate": "1.0",
    "currency_tax": "34.0",
    "language": "fr_FR",
    "customer_invoice_template": {
      "id": 123
    },
    "discount": {
      "type": "absolute",
      "value": "25"
    },
    "pdf_invoice_free_text": "Thanks for paying this invoice",
    "pdf_invoice_subject": "Invoice subject",
    "pdf_description": "Invoice description",
    "special_mention": "Additional details",
    "invoice_line_sections": {
      "url": "https://app.pennylane.com/api/external/v2/billing_subscriptions/42/invoice_line_sections"
    },
    "invoice_lines": {
      "url": "https://app.pennylane.com/api/external/v2/billing_subscriptions/42/invoice_lines"
    }
  },
  "created_at": "2023-08-30T10:08:08.146343Z",
  "updated_at": "2023-08-30T10:08:08.146343Z"
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json

Response

201
application/json

Renders the created billing subscription

The response is of type object.