Corrigo: Create invoice
Corrigo invoice.create: arguments, response, policy and SDK examples.
← Invoice operations · Get started
Operation corrigo.base_invoice_create
Provider route: POST /v1/base/Invoice. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/corrigo with npm, or alter-sdk-corrigo with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { CorrigoIntegration } from "@alter-ai/corrigo";
async function execute(input: Parameters<CorrigoIntegration["invoice"]["create"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new CorrigoIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.invoice.create(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_corrigo import CorrigoIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = CorrigoIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.invoice.create(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
body | object | Required within parent | Additional keys: not allowed |
body.requestId | JSON | Optional | |
body.requestId (anyOf 1) | string | Alternative | |
body.requestId (anyOf 2) | null | Alternative | |
body.properties | JSON | Optional | |
body.properties (anyOf 1) | array | Alternative | |
body.properties (anyOf 1)[] | string | Each item | |
body.properties (anyOf 2) | null | Alternative | |
body.entity | Model | Required within parent | Expand Create invoice — request body — body entity |
Referenced models: Create invoice — request body — body entity
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root |
Schemas
Section titled “Schemas”Create invoice — request body — body entity
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
id | integer | Optional | Format: int32 |
isNew | boolean | Optional | Read only: true |
limitMultipleEntitiesNumberBehaviour | boolean | Optional | |
performDeletion | boolean | Optional | |
properties | JSON | Optional | |
properties (anyOf 1) | array | Alternative | |
properties (anyOf 1)[] | JSON | Each item | |
properties (anyOf 1)[] (anyOf 1) | object | Alternative | A Corrigo PropertyTreeNode. |
properties (anyOf 1)[] (anyOf 2) | null | Alternative | |
properties (anyOf 2) | null | Alternative | |
concurrencyId | integer | Optional | Format: int32 |
amtBase | JSON | Optional | |
amtBase (anyOf 1) | object | Alternative | A Corrigo MoneyValue. |
amtBase (anyOf 2) | null | Alternative | |
amtTax | JSON | Optional | |
amtTax (anyOf 1) | object | Alternative | A Corrigo MoneyValue. |
amtTax (anyOf 2) | null | Alternative | |
amtTotal | JSON | Optional | |
amtTotal (anyOf 1) | object | Alternative | A Corrigo MoneyValue. |
amtTotal (anyOf 2) | null | Alternative | |
billingContact | JSON | Optional | |
billingContact (anyOf 1) | object | Alternative | A Corrigo Contact. |
billingContact (anyOf 2) | null | Alternative | |
canEarlyPayment | boolean | Optional | |
canExpedite | boolean | Optional | |
comments | JSON | Optional | |
comments (anyOf 1) | string | Alternative | |
comments (anyOf 2) | null | Alternative | |
currencyTypeId | Model | Optional | Expand Create rcs action — request body — body entity money Id |
draftProcessStepId | string | Optional | One of: NA, Pending, ReadyToPost, FailedTax, FailedPost, Disputed, Recalled Format: int32 |
dtDue | JSON | Optional | |
dtDue (anyOf 1) | string | Alternative | Format: date-time |
dtDue (anyOf 2) | null | Alternative | |
dtPosted | JSON | Optional | |
dtPosted (anyOf 1) | string | Alternative | Format: date-time |
dtPosted (anyOf 2) | null | Alternative | |
extNumber | JSON | Optional | |
extNumber (anyOf 1) | string | Alternative | |
extNumber (anyOf 2) | null | Alternative | |
glAccount | JSON | Optional | |
glAccount (anyOf 1) | string | Alternative | |
glAccount (anyOf 2) | null | Alternative | |
group | JSON | Optional | |
group (anyOf 1) | object | Alternative | A Corrigo BillingAccount. |
group (anyOf 2) | null | Alternative | |
isAvailableExpeditedInvoiceFlags | boolean | Optional | |
isManuallySent | boolean | Optional | |
isMultiline | boolean | Optional | |
isTaxDirty | boolean | Optional | |
lineItems | JSON | Optional | |
lineItems (anyOf 1) | array | Alternative | |
lineItems (anyOf 1)[] | JSON | Each item | |
lineItems (anyOf 1)[] (anyOf 1) | object | Alternative | A Corrigo InvoiceLine. |
lineItems (anyOf 1)[] (anyOf 2) | null | Alternative | |
lineItems (anyOf 2) | null | Alternative | |
number | JSON | Optional | |
number (anyOf 1) | string | Alternative | |
number (anyOf 2) | null | Alternative | |
period | JSON | Optional | |
period (anyOf 1) | object | Alternative | A Corrigo TimePeriod. |
period (anyOf 2) | null | Alternative | |
poNumber | JSON | Optional | |
poNumber (anyOf 1) | string | Alternative | |
poNumber (anyOf 2) | null | Alternative | |
state | string | Optional | One of: Draft, Posted, Credit, CreditUsed, Paid, PaidInFull, Approved, Exported Format: int32 |
taxTransactionId | JSON | Optional | |
taxTransactionId (anyOf 1) | string | Alternative | |
taxTransactionId (anyOf 2) | null | Alternative | |
timeSetId | integer | Optional | Format: int32 |
Referenced models: Create rcs action — request body — body entity money Id
Create rcs action — request body — body entity money Id
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | string | Root | One of: Unknown, SAR, BGN, TWD, CZK, DKK, EUR, USD, ILS, HUF, JPY, KRW, PLN, BRL, RON, RUB, HRK, SEK, THB, TRY, PKR, IDR, VND, AMD, MKD, ZAR, INR, MYR, KZT, KES, KHR, MMK, LKR, PHP, NGN, CNY, CHF, GBP, MXN, NOK, BND, BDT, EGP, HKD, AUD, SGD, CAD, DZD, MOP, NZD, CRC, BAM, MAD, TND, OMR, VES, COP, PEN, JOD, ARS, LBP, KWD, CLP, AED, UYU, BHD, QAR, RSD, AZN, UZS, VUV, FJD, PGK, TOP, CFP, SBD, WST, MUR, BMD Format: int32 |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: corrigo.base_invoice_create. Catalog operation: base.Invoice.create. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.