Blackbaud · Schema
InvoiceDetail
Invoice Information
Non-ProfitFundraisingDonor ManagementCRMFund AccountingEducationGrantmakingPaymentsPhilanthropySocial Impact
Properties
| Name | Type | Description |
|---|---|---|
| invoice_id | integer | The invoice identifier. |
| vendor_id | integer | The vendor associated with the invoice. |
| vendor_name | stringnull | The name of the vendor for this invoice. |
| invoice_number | stringnull | The number for the invoice. |
| invoice_date | string | The date of the invoice. |
| due_date | string | The due date of the invoice. |
| amount | number | The amount of the invoice. |
| balance | numbernull | The current balance on this invoice. |
| total_paid | numbernull | The total amount paid on this invoice. |
| description | string | The description for the invoice. |
| status | object | |
| invoice_payment_detail | object | |
| post_status | object | |
| post_date | stringnull | The post date for this invoice. |
| distribute_discounts | boolean | If to distribute discounts to invoice expense accounts. |
| distributions | arraynull | The distributions on this invoice. |
| custom_fields | arraynull | The custom fields on this invoice. |
| date_added | stringnull | The created date of the invoice. |
| date_modified | stringnull | The modified date of the invoice. |
| added_by | stringnull | The creator of the invoice. |
| modified_by | stringnull | The modifier of the invoice. |
| adjustment_summary | object | |
| purchase_order_number | stringnull | The purchase order number for the invoice. |
| gst_tax_type_id | integernull | The tax type for the invoice (CANADA and AUSTRALIA only). |
| psb_activity_code_id | integernull | The psb activity code for the invoice (CANADA only). |
| include_tax | booleannull | If or not to include tax on this invoice (CANADA and AUSTRALIA only). |
| invoice_amount_before_tax | numbernull | The invoice amount before tax. |
| tax_amount | numbernull | The tax amount for the invoice (CANADA and AUSTRALIA only). |
| gst_rebate_amount | numbernull | The gst rebate amount for the invoice (CANADA only). |
| pst_rebate_amount | numbernull | The pst rebate amount for the invoice (CANADA only). |
| gst_rebate_distribution | arraynull | The gst rebate distribution for the invoice (CANADA only). |
| pst_rebate_distribution | arraynull | The pst rebate distribution for the invoice (CANADA only). |
| tax_distribution | arraynull | The tax distribution for the invoice (AUSTRALIA only). |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/blackbaud/main/json-schema/blackbaud-invoice-detail-schema.json",
"title": "InvoiceDetail",
"description": "Invoice Information",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/blackbaud-accounts-payable-api-openapi.yml#/components/schemas/InvoiceDetail",
"required": [
"amount",
"description",
"due_date",
"invoice_date",
"status",
"vendor_id"
],
"type": "object",
"properties": {
"invoice_id": {
"type": "integer",
"description": "The invoice identifier.",
"format": "int32"
},
"vendor_id": {
"type": "integer",
"description": "The vendor associated with the invoice.",
"format": "int32"
},
"vendor_name": {
"type": [
"string",
"null"
],
"description": "The name of the vendor for this invoice."
},
"invoice_number": {
"type": [
"string",
"null"
],
"description": "The number for the invoice."
},
"invoice_date": {
"type": "string",
"description": "The date of the invoice.",
"format": "date-time"
},
"due_date": {
"type": "string",
"description": "The due date of the invoice.",
"format": "date-time"
},
"amount": {
"type": "number",
"description": "The amount of the invoice.",
"format": "decimal"
},
"balance": {
"type": [
"number",
"null"
],
"description": "The current balance on this invoice.",
"format": "decimal"
},
"total_paid": {
"type": [
"number",
"null"
],
"description": "The total amount paid on this invoice.",
"format": "decimal"
},
"description": {
"minLength": 1,
"type": "string",
"description": "The description for the invoice."
},
"status": {
"$ref": "#/$defs/ApprovalStatus"
},
"invoice_payment_detail": {
"$ref": "#/$defs/InvoicePaymentDetails"
},
"post_status": {
"$ref": "#/$defs/InvoicePostStatus"
},
"post_date": {
"type": [
"string",
"null"
],
"description": "The post date for this invoice.",
"format": "date-time"
},
"distribute_discounts": {
"type": "boolean",
"description": "If to distribute discounts to invoice expense accounts."
},
"distributions": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/Distribution"
},
"description": "The distributions on this invoice."
},
"custom_fields": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/CustomField"
},
"description": "The custom fields on this invoice."
},
"date_added": {
"type": [
"string",
"null"
],
"description": "The created date of the invoice.",
"format": "date-time"
},
"date_modified": {
"type": [
"string",
"null"
],
"description": "The modified date of the invoice.",
"format": "date-time"
},
"added_by": {
"type": [
"string",
"null"
],
"description": "The creator of the invoice."
},
"modified_by": {
"type": [
"string",
"null"
],
"description": "The modifier of the invoice."
},
"adjustment_summary": {
"$ref": "#/$defs/InvoiceAdjustmentSummary"
},
"purchase_order_number": {
"type": [
"string",
"null"
],
"description": "The purchase order number for the invoice."
},
"gst_tax_type_id": {
"type": [
"integer",
"null"
],
"description": "The tax type for the invoice (CANADA and AUSTRALIA only).",
"format": "int32"
},
"psb_activity_code_id": {
"type": [
"integer",
"null"
],
"description": "The psb activity code for the invoice (CANADA only).",
"format": "int32"
},
"include_tax": {
"type": [
"boolean",
"null"
],
"description": "If or not to include tax on this invoice (CANADA and AUSTRALIA only)."
},
"invoice_amount_before_tax": {
"type": [
"number",
"null"
],
"description": "The invoice amount before tax.",
"format": "decimal"
},
"tax_amount": {
"type": [
"number",
"null"
],
"description": "The tax amount for the invoice (CANADA and AUSTRALIA only).",
"format": "decimal"
},
"gst_rebate_amount": {
"type": [
"number",
"null"
],
"description": "The gst rebate amount for the invoice (CANADA only).",
"format": "decimal"
},
"pst_rebate_amount": {
"type": [
"number",
"null"
],
"description": "The pst rebate amount for the invoice (CANADA only).",
"format": "decimal"
},
"gst_rebate_distribution": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/RebateDistribution"
},
"description": "The gst rebate distribution for the invoice (CANADA only)."
},
"pst_rebate_distribution": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/RebateDistribution"
},
"description": "The pst rebate distribution for the invoice (CANADA only)."
},
"tax_distribution": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/RebateDistribution"
},
"description": "The tax distribution for the invoice (AUSTRALIA only)."
}
},
"additionalProperties": false,
"$defs": {
"ApprovalStatus": {
"title": "ApprovalStatus",
"enum": [
"Pending",
"Approved",
"Deleted",
"Paid",
"PartiallyPaid"
],
"type": "string"
},
"CustomField": {
"type": "object",
"properties": {
"field_name": {
"type": [
"string",
"null"
],
"description": "The name of the custom field."
},
"value": {
"type": [
"string",
"null"
],
"description": "The value of the custom field."
},
"comments": {
"type": [
"string",
"null"
],
"description": "The description of the custom field."
},
"type": {
"$ref": "#/$defs/CustomFieldDataType"
},
"is_required": {
"type": "boolean",
"description": "Required status of the custom field."
},
"date": {
"type": [
"string",
"null"
],
"description": "The date on this custom field.",
"format": "date-time"
}
},
"additionalProperties": false,
"description": "Custom field definition."
},
"CustomFieldDataType": {
"title": "CustomFieldDataType",
"enum": [
"Text",
"Number",
"DateTime",
"Currency",
"Boolean",
"Table",
"FuzzyDate"
],
"type": "string"
},
"Distribution": {
"required": [
"distribution_splits"
],
"type": "object",
"properties": {
"distribution_id": {
"type": "integer",
"description": "The distribution identifier.",
"format": "int32"
},
"distribution_splits": {
"type": "array",
"items": {
"$ref": "#/$defs/DistributionSplit"
},
"description": "The distribution split."
},
"amount": {
"type": "number",
"description": "The distribution amount.",
"format": "decimal"
},
"description": {
"type": [
"string",
"null"
],
"description": "The description for this distribution."
},
"account_number": {
"type": [
"string",
"null"
],
"description": "The account number for this distribution."
},
"type_code": {
"$ref": "#/$defs/DistributionTypeCode"
},
"custom_fields": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/CustomField"
},
"description": "The custom fields of the distribution."
}
},
"additionalProperties": false,
"description": "Distribution."
},
"DistributionSplit": {
"required": [
"transaction_code_values"
],
"type": "object",
"properties": {
"distribution_split_id": {
"type": "integer",
"description": "The distribution split identifier.",
"format": "int32"
},
"ui_project_id": {
"type": [
"string",
"null"
],
"description": "The user-visible identifier of the project."
},
"transaction_code_values": {
"type": "array",
"items": {
"$ref": "#/$defs/TransactionCodeValue"
},
"description": "The distribution transaction code values. The values should be in the same order as the codes defined in the database."
},
"amount": {
"type": [
"number",
"null"
],
"description": "The distribution journal entry amount. Only one of Amount or Percent can be specified.",
"format": "decimal"
},
"percent": {
"type": [
"number",
"null"
],
"description": "The distribution journal entry amount percentage. Only one of Amount or Percent can be specified.",
"format": "decimal"
},
"account_class": {
"type": [
"string",
"null"
],
"description": "The account class for this distribution split."
}
},
"additionalProperties": false,
"description": "Journal Entry Distribution."
},
"DistributionTypeCode": {
"title": "DistributionTypeCode",
"enum": [
"Debit",
"Credit"
],
"type": "string",
"description": "The type code for the distribution, debit or credit"
},
"InvoiceAdjustmentSummary": {
"type": "object",
"properties": {
"adjustment_id": {
"type": "integer",
"description": "The identifier for the invoice adjustment.",
"format": "int32"
},
"post_status": {
"$ref": "#/$defs/InvoicePostStatus"
},
"post_date": {
"type": [
"string",
"null"
],
"description": "The post date for the invoice adjustment.",
"format": "date-time"
},
"adjustment_date": {
"type": [
"string",
"null"
],
"description": "The adjustment date for the invoice adjustment.",
"format": "date-time"
},
"reason": {
"type": [
"string",
"null"
],
"description": "The reason for the invoice adjustment."
},
"notes": {
"type": [
"string",
"null"
],
"description": "The notes for the invoice adjustment."
}
},
"additionalProperties": false,
"description": "Contract for invoice adjustment summary."
},
"InvoicePaymentDetails": {
"type": "object",
"properties": {
"remit_to": {
"$ref": "#/$defs/RemitToAddress"
},
"payment_method": {
"$ref": "#/$defs/PaymentMethod"
},
"paid_from": {
"type": [
"string",
"null"
],
"description": "The bank from which this was paid."
},
"credit_card_account_name": {
"type": [
"string",
"null"
],
"description": "The credit card account from which this was paid."
},
"credit_card_account_id": {
"type": "integer",
"description": "The identifier of the credit card account from which this was paid.",
"format": "int32"
},
"credit_card_name": {
"type": [
"string",
"null"
],
"description": "The credit card from which this was paid."
},
"credit_card_id": {
"type": "integer",
"description": "The identifier of the credit card from which this was paid.",
"format": "int32"
},
"hold_payment": {
"type": "boolean",
"description": "If or not to hold payment on this invoice."
},
"create_separate_payment": {
"type": "boolean",
"description": "If or not to create a separate payment for this invoice."
},
"payments": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/InvoicePaymentSummary"
},
"description": "The payments on this invoice."
}
},
"additionalProperties": false,
"description": "Invoice Payment Information"
},
"InvoicePaymentSummary": {
"type": "object",
"properties": {
"payment_date": {
"type": [
"string",
"null"
],
"description": "The date for this payment.",
"format": "date-time"
},
"transaction_number": {
"type": [
"string",
"null"
],
"description": "The transaction number for this payment."
},
"payment_status": {
"$ref": "#/$defs/PaymentStatus"
},
"amount": {
"type": [
"number",
"null"
],
"description": "The amount of this payment.",
"format": "decimal"
},
"br_transaction_id": {
"type": [
"integer",
"null"
],
"description": "The transaction identifier on this payment.",
"format": "int32"
},
"checks_7_id": {
"type": [
"integer",
"null"
],
"description": "The checks identifier from <b>Financial Edge 7</b>.",
"format": "int32"
}
},
"additionalProperties": false
},
"InvoicePostStatus": {
"title": "InvoicePostStatus",
"enum": [
"DoNotPost",
"NotYetPosted",
"Posted"
],
"type": "string"
},
"PaymentMethod": {
"title": "PaymentMethod",
"enum": [
"Check",
"EFT",
"BankDraft",
"CreditCard"
],
"type": "string"
},
"PaymentStatus": {
"title": "PaymentStatus",
"enum": [
"Deleted",
"Voided",
"Scheduled",
"Paid"
],
"type": "string"
},
"RebateDistribution": {
"required": [
"distribution_splits"
],
"type": "object",
"properties": {
"tax_entity_id": {
"type": [
"string",
"null"
],
"description": "The tax entity id."
},
"distribution_id": {
"type": "integer",
"description": "The distribution identifier.",
"format": "int32"
},
"distribution_splits": {
"type": "array",
"items": {
"$ref": "#/$defs/DistributionSplit"
},
"description": "The distribution split."
},
"amount": {
"type": "number",
"description": "The distribution amount.",
"format": "decimal"
},
"description": {
"type": [
"string",
"null"
],
"description": "The description for this distribution."
},
"account_number": {
"type": [
"string",
"null"
],
"description": "The account number for this distribution."
},
"type_code": {
"$ref": "#/$defs/DistributionTypeCode"
},
"custom_fields": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/CustomField"
},
"description": "The custom fields of the distribution."
}
},
"additionalProperties": false,
"description": "Rebate distribution."
},
"RemitToAddress": {
"required": [
"description"
],
"type": "object",
"properties": {
"address_id": {
"type": "integer",
"description": "The address identifier.",
"format": "int32"
},
"description": {
"minLength": 1,
"type": "string",
"description": "The description for this address."
},
"country": {
"type": [
"string",
"null"
],
"description": "The country for the address."
},
"city": {
"type": [
"string",
"null"
],
"description": "The city for the address."
},
"county": {
"type": [
"string",
"null"
],
"description": "The county for the address."
},
"state": {
"type": [
"string",
"null"
],
"description": "The state or province (or suburb in NZ) for the address."
},
"postal": {
"type": [
"string",
"null"
],
"description": "Refers to the Postal Code or ZIP of the address."
},
"address_line": {
"type": [
"string",
"null"
],
"description": "The street for this address."
},
"contact_name": {
"type": [
"string",
"null"
],
"description": "The full name of the contact for this address."
}
},
"additionalProperties": false,
"description": "The remit to address"
},
"TransactionCodeValue": {
"required": [
"id",
"value"
],
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
],
"description": "The transaction code name."
},
"value": {
"type": "string",
"description": "The transaction code value."
},
"id": {
"type": "integer",
"description": "The transaction code value id.",
"format": "int32"
},
"inactive": {
"type": "boolean",
"description": "Indicate if record is inactive or not."
}
},
"additionalProperties": false,
"description": "Transaction code value"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/blackbaud-invoice-detail"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.