{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/invoicepdfs-com/json-schema/invoicepdfs-com-business-profile-create-schema.json",
  "title": "BusinessProfileCreate",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/invoicepdfs-com-openapi.json#/components/schemas/BusinessProfileCreate",
  "properties": {
    "legal_name": {
      "type": "string",
      "title": "Legal Name"
    },
    "display_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Display Name"
    },
    "contact_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Contact Name",
      "description": "Who to ask about an invoice — a person or a department, not the company. EN 16931 calls it the contact point (BT-41 for the seller, BT-56 for the buyer); some national rulesets require it."
    },
    "email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Email"
    },
    "phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Phone"
    },
    "website": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Website"
    },
    "tax_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Tax Id"
    },
    "address": {
      "anyOf": [
        {
          "$ref": "#/$defs/PostalAddress"
        },
        {
          "type": "null"
        }
      ]
    },
    "bank_account": {
      "anyOf": [
        {
          "$ref": "#/$defs/InvoiceBankAccountInput"
        },
        {
          "type": "null"
        }
      ],
      "description": "Where to send the money. Becomes the invoice's payment instructions (BG-16) unless a document states an account of its own; some national rulesets require them."
    },
    "electronic_address": {
      "anyOf": [
        {
          "$ref": "#/$defs/ElectronicAddress"
        },
        {
          "type": "null"
        }
      ],
      "description": "Network address for e-invoicing. Required by Peppol; not the tax id."
    },
    "default_currency": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Default Currency"
    },
    "default_locale": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Default Locale"
    },
    "default_timezone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Default Timezone"
    },
    "logo_file_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Logo File Id"
    }
  },
  "type": "object",
  "required": [
    "legal_name"
  ],
  "$defs": {
    "ElectronicAddress": {
      "properties": {
        "value": {
          "type": "string",
          "minLength": 1,
          "title": "Value"
        },
        "scheme_id": {
          "type": "string",
          "minLength": 1,
          "title": "Scheme Id",
          "description": "EAS code list identifier — 0088 is GLN, 9930 a German VAT number."
        }
      },
      "type": "object",
      "required": [
        "value",
        "scheme_id"
      ],
      "title": "ElectronicAddress",
      "description": "BT-34 / BT-49 — where a document is routed on Peppol or DBNA.\n\nBoth halves are required: an identifier without its scheme cannot be\nresolved, because the same string means different things in different code\nlists. This is not the tax id, which identifies a company to a tax\nauthority rather than a mailbox on a network."
    },
    "InvoiceBankAccountInput": {
      "properties": {
        "bank_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bank Name"
        },
        "account_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Account Name"
        },
        "account_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Account Number"
        },
        "routing_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Routing Number"
        },
        "swift": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Swift"
        },
        "iban": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Iban"
        }
      },
      "type": "object",
      "title": "InvoiceBankAccountInput"
    },
    "PostalAddress": {
      "properties": {
        "line1": {
          "type": "string",
          "title": "Line1"
        },
        "line2": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Line2"
        },
        "city": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "City"
        },
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "State"
        },
        "postal_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Postal Code"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Country"
        }
      },
      "type": "object",
      "required": [
        "line1"
      ],
      "title": "PostalAddress"
    }
  }
}