Skip to content

Create Invoice

POST/api/v1/invoices

Τhis endpoint allows you to create a new invoice. Oxygen PEPPOL API will automatically deliver the invoice to the C3 corner.

Top-level Invoice Attributes

The following table describes the top-level attributes that can be included in the request payload when creating a new invoice.

AttributeBTTypeRequiredDescription
idBT-1stringRequiredThe invoice number. Must be unique across all invoices.
issue_dateBT-2stringRequiredThe date when the invoice was issued (format: Y-m-d).
invoice_type_codeBT-3integerRequiredThe type of invoice. Must be either 380 (Commercial Invoice) or 381 (Credit Note).
currency_codeBT-5stringRequiredThe currency code of the invoice (ISO 4217, 3 characters).
tax_currency_codeBT-6stringOptionalThe tax currency code if different from the invoice currency (ISO 4217, 3 characters).
tax_point_dateBT-7stringOptionalThe date when the VAT becomes accountable.
due_dateBT-9stringOptionalThe date when payment is due.
buyer_referenceBT-10stringConditionalA reference provided by the buyer. Required if order_reference.id is not provided.
project_referenceBT-11stringConditionalProject reference (ADA code or PDE). Required for invoice type 380, prohibited otherwise.
contract_document_referenceBT-12stringRequiredContract reference (ADAM code).
receipt_document_referenceBT-15stringOptionalReceipt document reference.
despatch_document_referenceBT-16stringOptionalDespatch advice reference.
originator_document_referenceBT-17stringOptionalOriginator document reference.
accounting_costBT-19stringOptionalThe accounting cost code.
payment_termsBT-20stringOptionalA textual description of the payment terms.
noteBT-22stringOptionalAdditional notes or comments about the invoice (max 65,535 characters).
order_referenceobjectOptionalReference to the order that this invoice is based on. See Order Reference.
billing_referencearrayConditionalReferences to preceding invoices. Required for invoice type 5.1. See Billing Reference.
sellerobjectRequiredInformation about the seller. See Seller.
buyerobjectRequiredInformation about the buyer. See Buyer.
payeeobjectOptionalInformation about the payee if different from seller. See Payee.
tax_representativeobjectOptionalTax representative information. See Tax Representative.
deliveryobjectConditionalDelivery information. Required for Greek sellers. See Delivery.
invoice_periodobjectOptionalThe invoice period. See Invoice Period.
payment_meansarrayOptionalPayment means information. See Payment Means.
allowancesarrayOptionalDocument level allowances. See Allowances.
chargesarrayOptionalDocument level charges. See Charges.
totalsobjectRequiredLegal monetary totals. See Document Totals.
tax_totalsarrayRequiredTax totals breakdown. See Tax Totals.
additional_documentsarrayOptionalAdditional supporting documents. See Additional Documents.
linesarrayRequiredInvoice line items. See Invoice Lines.
attachmentfileOptionalPDF attachment (max 10MB, application/pdf).

Order Reference

AttributeBTTypeRequiredDescription
idBT-13stringConditionalThe order reference. Required if buyer_reference is not provided.
sales_order_idBT-14stringOptionalThe sales order reference.

Billing Reference

AttributeBTTypeRequiredDescription
idBT-25stringRequiredThe invoice number being referenced.
issue_dateBT-26stringOptionalThe issue date of the referenced invoice.

Seller

AttributeBTTypeRequiredDescription
endpoint_idBT-34stringRequiredThe seller's electronic address identifier.
endpoint_scheme_idstringRequiredThe scheme identifier for the seller's endpoint.
nameBT-28stringOptionalThe seller's trading name.
identificationarrayOptionalAdditional seller identifications. See Seller Identification.
legal_entityobjectRequiredSeller legal entity information. See Seller Legal Entity.
addressobjectRequiredSeller postal address. See Seller Address.
tax_schemearrayOptionalSeller tax scheme (max 2). See Seller Tax Scheme.
contactobjectOptionalSeller contact information. See Seller Contact.

Seller Identification

AttributeBTTypeRequiredDescription
idBT-29stringRequiredThe seller identifier.
scheme_idstringOptionalThe scheme identifier for the seller identifier.
AttributeBTTypeRequiredDescription
registration_nameBT-27stringRequiredThe full legal name of the seller.
company_idBT-30stringOptionalThe seller's company legal registration identifier.
scheme_idstringOptionalThe scheme identifier for the company ID.
company_legal_formBT-33stringOptionalThe seller's legal form.

Seller Address

AttributeBTTypeRequiredDescription
street_nameBT-35stringOptionalThe main street name.
additional_street_nameBT-36stringOptionalAdditional street name or address line.
city_nameBT-37stringOptionalThe city or town name.
postal_zoneBT-38stringOptionalThe postal code.
country_subentityBT-39stringOptionalThe country subdivision (e.g., region).
address_lineBT-162stringOptionalAdditional address line.
countryBT-40stringRequiredThe country code (ISO 3166-1 alpha-2, 2 characters).

Seller Tax Scheme

AttributeBTTypeRequiredDescription
company_idBT-31/BT-32stringRequiredThe seller's tax registration identifier (VAT number).
scheme_idstringRequiredThe tax scheme identifier.

Seller Contact

AttributeBTTypeRequiredDescription
nameBT-41stringOptionalThe contact point name.
telephoneBT-42stringOptionalThe contact telephone number.
emailBT-43stringOptionalThe contact email address.

Buyer

AttributeBTTypeRequiredDescription
endpoint_idBT-49stringRequiredThe buyer's electronic address identifier.
endpoint_scheme_idstringRequiredThe scheme identifier for the buyer's endpoint.
nameBT-45stringOptionalThe buyer's trading name.
identificationarrayRequiredBuyer identifications (max 1). See Buyer Identification.
legal_entityobjectRequiredBuyer legal entity information. See Buyer Legal Entity.
addressobjectRequiredBuyer postal address. See Buyer Address.
tax_schemearrayRequiredBuyer tax scheme (max 1). See Buyer Tax Scheme.
contactobjectOptionalBuyer contact information. See Buyer Contact.

Buyer Identification

AttributeBTTypeRequiredDescription
idBT-46stringRequiredThe buyer identifier.
scheme_idstringOptionalThe scheme identifier for the buyer identifier.
AttributeBTTypeRequiredDescription
registration_nameBT-44stringRequiredThe full legal name of the buyer.
company_idBT-47stringOptionalThe buyer's company legal registration identifier.
scheme_idstringOptionalThe scheme identifier for the company ID.

Buyer Address

AttributeBTTypeRequiredDescription
street_nameBT-50stringOptionalThe main street name.
additional_street_nameBT-51stringOptionalAdditional street name or address line.
city_nameBT-52stringOptionalThe city or town name.
postal_zoneBT-53stringOptionalThe postal code.
country_subentityBT-54stringOptionalThe country subdivision (e.g., region).
address_lineBT-163stringOptionalAdditional address line.
countryBT-55stringRequiredThe country code (ISO 3166-1 alpha-2, 2 characters).

Buyer Tax Scheme

AttributeBTTypeRequiredDescription
company_idBT-48stringRequiredThe buyer's tax registration identifier (VAT number).
scheme_idstringRequiredThe tax scheme identifier.

Buyer Contact

AttributeBTTypeRequiredDescription
nameBT-56stringOptionalThe contact point name.
telephoneBT-57stringOptionalThe contact telephone number.
emailBT-58stringOptionalThe contact email address.

Payee

AttributeBTTypeRequiredDescription
nameBT-59stringRequiredThe name of the payee.
identificationarrayOptionalPayee identifications (max 1). See Payee Identification.
legal_entityobjectOptionalPayee legal entity information. See Payee Legal Entity.

Payee Identification

AttributeBTTypeRequiredDescription
idBT-60/BT-90stringRequiredThe payee identifier.
scheme_idstringOptionalThe scheme identifier for the payee identifier.
AttributeBTTypeRequiredDescription
company_idBT-61stringRequiredThe payee's company legal registration identifier.
scheme_idstringOptionalThe scheme identifier for the company ID.

Tax Representative

AttributeBTTypeRequiredDescription
nameBT-62stringRequiredThe tax representative party name.
tax_schemearrayRequiredTax representative tax scheme (max 1). See Tax Representative Tax Scheme.
addressobjectRequiredTax representative postal address. See Tax Representative Address.

Tax Representative Tax Scheme

AttributeBTTypeRequiredDescription
company_idBT-63stringRequiredThe tax representative's VAT identifier.
scheme_idstringRequiredThe tax scheme identifier.

Tax Representative Address

AttributeBTTypeRequiredDescription
street_nameBT-64stringOptionalThe main street name.
additional_street_nameBT-65stringOptionalAdditional street name or address line.
city_nameBT-66stringOptionalThe city or town name.
postal_zoneBT-67stringOptionalThe postal code.
country_subentityBT-68stringOptionalThe country subdivision (e.g., region).
address_lineBT-164stringOptionalAdditional address line.
countryBT-69stringRequiredThe country code (ISO 3166-1 alpha-2, 2 characters).

Delivery

AttributeBTTypeRequiredDescription
party_nameBT-70stringRequiredThe name of the delivery party.
locationobjectRequiredDelivery location information. See Delivery Location.
dateBT-72stringOptionalThe actual delivery date (format: Y-m-d).

Delivery Location

AttributeBTTypeRequiredDescription
idBT-71stringOptionalThe delivery location identifier.
scheme_idBT-71stringOptionalThe scheme identifier for the location identifier.
addressobjectRequiredDelivery address. See Delivery Address.

Delivery Address

AttributeBTTypeRequiredDescription
street_nameBT-75stringRequiredThe main street name.
additional_street_nameBT-76stringOptionalAdditional street name or address line.
city_nameBT-77stringRequiredThe city or town name.
postal_zoneBT-78stringRequiredThe postal code.
country_subentityBT-79stringOptionalThe country subdivision (e.g., region).
address_lineBT-165stringOptionalAdditional address line.
countryBT-80stringRequiredThe country code (ISO 3166-1 alpha-2, 2 characters).

Invoice Period

AttributeBTTypeRequiredDescription
start_dateBT-73stringOptionalThe start date of the invoice period.
end_dateBT-74stringOptionalThe end date of the invoice period.
description_codeBT-8stringOptionalThe invoice period description code.

Payment Means

AttributeBTTypeRequiredDescription
payment_codeBT-81stringRequiredThe payment means type code.
payment_descriptionBT-82stringOptionalA textual description of the payment means.
payment_idBT-83stringOptionalThe remittance information.
credit_transferobjectOptionalCredit transfer information. See Credit Transfer.
card_accountobjectOptionalCard account information. See Card Account.
direct_debitobjectOptionalDirect debit information. See Direct Debit.

Credit Transfer

AttributeBTTypeRequiredDescription
account_idBT-84stringRequiredThe payment account identifier (IBAN).
account_nameBT-85stringOptionalThe payment account name.
institution_idBT-86stringOptionalThe payment service provider identifier (BIC).

Card Account

AttributeBTTypeRequiredDescription
panBT-87stringRequiredThe payment card primary account number.
network_idstringRequiredThe payment card network identifier.
holder_nameBT-88stringOptionalThe cardholder name.

Direct Debit

AttributeBTTypeRequiredDescription
idBT-89stringOptionalThe mandate reference identifier.
payer_account_idBT-91stringOptionalThe debited account identifier.

Allowances

AttributeBTTypeRequiredDescription
amountBT-92decimalRequiredThe allowance amount.
base_amountBT-93decimalOptionalThe base amount used to calculate the allowance.
percentBT-94decimalOptionalThe percentage applied to calculate the allowance.
tax_categoryobjectRequiredTax category for the allowance. See Allowance Tax Category.
reasonBT-97stringConditionalThe reason for the allowance. Required if reason_code is not provided.
reason_codeBT-98stringConditionalThe allowance reason code. Required if reason is not provided.

Allowance Tax Category

AttributeBTTypeRequiredDescription
idBT-95stringRequiredThe tax category code.
percentBT-96decimalRequiredThe tax rate percentage.

Charges

AttributeBTTypeRequiredDescription
amountBT-99decimalRequiredThe charge amount.
base_amountBT-100decimalOptionalThe base amount used to calculate the charge.
percentBT-101decimalOptionalThe percentage applied to calculate the charge.
tax_categoryobjectRequiredTax category for the charge. See Charge Tax Category.
reasonBT-104stringRequiredThe reason for the charge.
reason_codeBT-105stringOptionalThe charge reason code.

Charge Tax Category

AttributeBTTypeRequiredDescription
idBT-102stringRequiredThe tax category code.
percentBT-103decimalRequiredThe tax rate percentage.

Document Totals

AttributeBTTypeRequiredDescription
total_net_amountBT-106decimalRequiredSum of invoice line net amounts.
total_allowance_amountBT-107decimalOptionalSum of allowances on document level.
total_charge_amountBT-108decimalOptionalSum of charges on document level.
total_tax_exclusive_amountBT-109decimalRequiredInvoice total amount without VAT.
total_tax_inclusive_amountBT-112decimalRequiredInvoice total amount with VAT.
total_prepaid_amountBT-113decimalOptionalSum of paid amounts.
rounding_amountBT-114decimalOptionalThe rounding amount.
total_payable_amountBT-115decimalRequiredThe amount to be paid.

Tax Totals

AttributeBTTypeRequiredDescription
tax_amountBT-110/BT-111decimalRequiredThe total tax amount.
tax_currencystringRequiredThe tax currency code (use BT-5 or BT-6).
subtotalsarrayRequiredTax subtotal breakdown. See Tax Subtotals.

Tax Subtotals

AttributeBTTypeRequiredDescription
taxable_amountBT-116decimalRequiredThe taxable amount for this tax category.
tax_amountBT-117decimalRequiredThe tax amount for this tax category.
tax_categoryobjectRequiredTax category details. See Tax Subtotal Category.

Tax Subtotal Category

AttributeBTTypeRequiredDescription
idBT-118stringRequiredThe tax category code.
percentBT-119decimalOptionalThe tax rate percentage.
exemption_reasonBT-120stringOptionalThe tax exemption reason text.
exemption_reason_codeBT-121stringOptionalThe tax exemption reason code.

Additional Documents

AttributeBTTypeRequiredDescription
idBT-122stringRequiredThe document identifier.
scheme_idstringOptionalThe scheme identifier for the document identifier.
document_type_codeBT-18stringOptionalThe document type code.
document_descriptionBT-123stringOptionalA description of the document.
attachmentobjectOptionalDocument attachment information. See Document Attachment.

Document Attachment

AttributeBTTypeRequiredDescription
uriBT-124stringOptionalExternal document URI.
embedBT-125stringOptionalEmbedded document (base64).
embed_mime_codestringConditionalMIME code of embedded document. Required if embed is provided.
embed_filenamestringConditionalFilename of embedded document. Required if embed is provided.

Invoice Lines

AttributeBTTypeRequiredDescription
idBT-126stringRequiredThe invoice line identifier. Must be unique within the invoice.
noteBT-127stringOptionalA note about the invoice line (max 65,535 characters).
document_referenceobjectOptionalDocument reference for the line. See Line Document Reference.
quantityBT-129decimalRequiredThe invoiced quantity.
unit_codeBT-130stringRequiredThe unit of measure code.
net_valueBT-131decimalRequiredThe line net amount.
order_line_referenceBT-132stringOptionalThe order line reference.
accounting_costBT-133stringOptionalThe accounting cost code for the line.
invoice_periodobjectOptionalLine invoice period. See Line Invoice Period.
allowancesarrayOptionalLine level allowances. See Line Allowances.
chargesarrayOptionalLine level charges. See Line Charges.
price_detailsobjectRequiredPrice information. See Price Details.
itemobjectRequiredItem information. See Item.
propertiesarrayOptionalItem properties. See Item Properties.

Line Document Reference

AttributeBTTypeRequiredDescription
idBT-128stringOptionalThe document reference identifier.
scheme_idstringOptionalThe scheme identifier for the document identifier.
document_type_codeBT-128stringOptionalThe document type code.

Line Invoice Period

AttributeBTTypeRequiredDescription
start_dateBT-134stringOptionalThe start date of the line invoice period.
end_dateBT-135stringOptionalThe end date of the line invoice period.

Line Allowances

AttributeBTTypeRequiredDescription
amountBT-136decimalRequiredThe line allowance amount.
base_amountBT-137decimalOptionalThe base amount used to calculate the allowance.
percentBT-138decimalOptionalThe percentage applied to calculate the allowance.
reasonBT-139stringOptionalThe reason for the allowance.
reason_codeBT-140stringOptionalThe allowance reason code.

Line Charges

AttributeBTTypeRequiredDescription
amountBT-141decimalRequiredThe line charge amount.
base_amountBT-142decimalOptionalThe base amount used to calculate the charge.
percentBT-143decimalOptionalThe percentage applied to calculate the charge.
reasonBT-144stringOptionalThe reason for the charge.
reason_codeBT-145stringOptionalThe charge reason code.

Price Details

AttributeBTTypeRequiredDescription
price_amountBT-146decimalRequiredThe item net price (per unit).
discount_amountBT-147decimalOptionalThe item price discount amount.
base_amountBT-148decimalOptionalThe item gross price.
base_quantityBT-149decimalOptionalThe item price base quantity.
base_quantity_unit_codeBT-150stringOptionalThe item price base quantity unit of measure code.

Item

AttributeBTTypeRequiredDescription
nameBT-153stringRequiredThe item name (max 1000 characters).
descriptionBT-154stringOptionalThe item description.
seller_assigned_idBT-155stringOptionalThe item seller's identifier.
buyer_assigned_idBT-156stringOptionalThe item buyer's identifier.
standard_idBT-157stringOptionalThe item standard identifier.
standard_scheme_idstringConditionalThe scheme identifier for standard ID. Required if standard_id is provided.
classificationsarrayRequiredItem classifications. See Item Classifications.
origin_countryBT-159stringOptionalThe item country of origin (ISO 3166-1 alpha-2).
tax_categoryobjectRequiredItem tax category. See Item Tax Category.

Item Classifications

AttributeBTTypeRequiredDescription
codeBT-158stringRequiredThe item classification code.
list_idstringRequiredThe item classification identifier.
version_idstringOptionalThe item classification version.

Item Tax Category

AttributeBTTypeRequiredDescription
idBT-151stringRequiredThe invoiced item VAT category code.
percentBT-152decimalRequiredThe invoiced item VAT rate percentage.

Item Properties

AttributeBTTypeRequiredDescription
nameBT-160stringRequiredThe item attribute name.
valueBT-161stringRequiredThe item attribute value.

Example Request

Below is an example of a request to create a new invoice. Please ensure to replace {token} with your actual authentication token. The data placeholder represents the JSON payload containing the invoice details and an example is provided below.

bash
curl https://sandbox-peppol.oxygen.gr/api/v1/invoices \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{{ data }}'
json
{
  "invoice_number": "888888888|14/01/2026|0|1.1|ΤΔΑ|14",
  "issue_date": "2026-01-14",
  "invoice_type_code": 380,
  "currency_code": "EUR",
  "buyer_reference": "REF-2026-001",
  "project_reference": "ADA-123456",
  "seller": {
    "name": "ACME Corporation",
    "legal_entity": {
      "registration_name": "ACME Corporation SA",
      "company_id": "123456789"
    },
    "address": {
      "street_name": "Main Street",
      "city_name": "Athens",
      "postal_zone": "10563",
      "country": "GR"
    },
    "tax_scheme": [
      {
        "company_id": "999999999",
        "scheme_id": "VAT"
      }
    ]
  },
  "buyer": {
    "endpoint_id": "9933888888888",
    "endpoint_scheme_id": "0088",
    "name": "Client Company Ltd",
    "legal_entity": {
      "registration_name": "Client Company Ltd"
    },
    "address": {
      "street_name": "Business Avenue",
      "city_name": "Thessaloniki",
      "postal_zone": "54625",
      "country": "GR"
    },
    "tax_scheme": [
      {
        "company_id": "888888888",
        "scheme_id": "VAT"
      }
    ]
  },
  "delivery": {
    "party_name": "Client Company Ltd",
    "location": {
      "address": {
        "street_name": "Business Avenue",
        "city_name": "Thessaloniki",
        "postal_zone": "54625",
        "country": "GR"
      }
    }
  },
  "lines": [
    {
      "id": "1",
      "quantity": 10,
      "unit_code": "C62",
      "net_value": 1000.00,
      "item": {
        "name": "Professional Services",
        "tax_category": {
          "id": "S",
          "percent": 24
        }
      },
      "price_details": {
        "price_amount": 100.00
      }
    }
  ],
  "totals": {
    "total_net_amount": 1000.00,
    "total_tax_exclusive_amount": 1000.00,
    "total_tax_inclusive_amount": 1240.00,
    "total_payable_amount": 1240.00
  },
  "tax_totals": [
    {
      "tax_amount": 240.00,
      "tax_currency": "EUR",
      "subtotals": [
        {
          "taxable_amount": 1000.00,
          "tax_amount": 240.00,
          "tax_category": {
            "id": "S",
            "percent": 24
          }
        }
      ]
    }
  ]
}

Example Response

json
{
  "id": "01kev9gvvrwggfmbjb3zg4qvb3",
  "invoice_number": "888888888|14/01/2026|0|1.1|ΤΔΑ|14",
  "issue_date": "2026-01-14",
  "buyer_reference": "REF-2026-001",
  "buyer_tin": "888888888",
  "buyer_name": "Client Company Ltd",
  "transmission" : {
    "status_code": 202,
    "error_message": null
  },
  "url": "https://sandbox-peppol.oxygen.gr/invoices/01kev9gvvrwggfmbjb3zg4qvb3/preview"
}

Response Fields

The response of the Create Invoice endpoint includes the following fields:

FieldBTTypeDescription
idstringThe unique identifier of the created invoice.
invoice_numberBT-1stringThe invoice number as provided during invoice creation.
issue_dateBT-2stringThe issue date of the created invoice.
buyer_referenceBT-10stringThe buyer reference as provided during invoice creation.
buyer_tinBT-48stringThe Buyer's VAT identifier.
buyer_nameBT-44stringThe Buyer's registration name.
transmissionobjectAn object containing the status of the invoice transmission to the C3 corner.
urlstringA URL to preview the created invoice.

Transmission Object Fields

The transmission object in the response includes the following fields:

FieldTypeDescription
status_codeintThe current status code of the invoice transmission to the C3 corner.
error_messagestringAn error message providing additional context if the invoice encountered an error during transmission.

Response Codes

When creating invoices, the API will return the following response codes to indicate the result of the operation:

Response CodeDescription
201Invoice created successfully.
401Unauthenticated. Invalid or missing authentication token.
403Unauthorized. The authenticated user does not have permission to create invoices.
422Unprocessable Entity. The invoice could not be processed due to validation errors.
423If the invoice with the same invoice_number is already being processed.

Transmission Status Code

The response of the Create Invoice includes fields related to the transmission of the invoice to the C3 corner. You can check the transmission object in the response to determine the current status of the invoice transmission.

FieldDescription
202The invoice has been accepted for processing by the C3 corner. The error_message field will be null.
422The invoice was rejected due to validation errors. The error_message field will contain details about the errors.
500An internal server error occurred during transmission. The error_message fields will provide more information.
Learn more about invoice transmission model

Released under the MIT License.