Italy

Credit note

Changes to generic fields

  • ref has a maximum length of 20 characters.
  • recipient.address.line1 is required.
  • recipient.address.city is required.
  • recipient.address.country is required.
  • recipient.address.postalCode is required.
  • organisation.address.state for provinces in Italy, a 2-character Italian province code is required.
type CreditNote {
  // ...all generic credit note fields
 customInfo: {
    ita: {
      documentType: 'TD04';
      recipientCode: string;
      transmissionFormat: string;
    }
  },
  invoiceRefs: string[],
  lines: InvoiceLine[];
  // ...everything from recipient
  // recipient.contact.email required when customInfo.ita.recipientCode = '0000000'
  recipient: {
    contact: {
      email?: string;
    }
  }
}

type InvoiceLine {
  description: string;
  unit: Unit;
  quantity?: number;
  vat: {
    type: 'fixed' | 'percent';
    code: TaxCode;
    // If type='percent, amount can be one of:
    amount: 0.00 | 4.00 | 5.00 | 10.00 | 22.00;
    // ...other line item vat fields
    exemptReason?: string;
    exemptReasonCode?: ItalyExemptionReasonCodes;
  };
  price: {
    amount: number;
  };
}

Field information

Name

Type

Required

Description

invoiceRefs

string

Yes

An array of existing invoices

recipient.address.state

string

Conditional

Initials of the province of the town/city indicated in recipient.address.city field. Value from alpha-2 code of the ISO 3166-1 standard code list.

For provinces in Italy, a 2 character Italian province code is required.

lines[].description

string

Yes

Description of the goods or service

lines[].unit

string

Yes

A value from an enumerated list as outlined on Units of Measure

lines[].quantity

number

Yes

Quantity of the good or service

lines[].vat.type

string

Yes

A value from an enumerated list of types:
"fixed"
"percent"

lines[].vat.code

string

Yes

A value from an enumerated list as outlined on VAT code classification

lines[].vat.amount

number

Yes

Line item Tax amount when lines[].vat.type = 'percent' Can be one of 0.00, 4.00, 5.00, 10.00 or 22.00

lines[].vat.exemptReason

string

Conditional

If the line VAT amount is 0, an exemption reason is required.

lines[].vat.exemptReasonCode

string

Conditional

If the line VAT amount is 0, a value from an enumerated list outlined on Italy exempt reason codes is required.

lines[].price.amount

number

Yes

Unit price of the good or service

customInfo.ita.recipientCode

string

Yes

Recipient Code (Codice Destinatario) is used to identify the recipient's intermediary (such as a certified email provider or an SDI intermediary).

Here are the possible values:

  • 7-character alphanumeric codes*: These codes are assigned to intermediaries authorized to receive invoices on behalf of recipients. Each intermediary has a unique code.

0000000: This code is used when the recipient prefers to receive the invoice via their certified email (PEC) rather than through an intermediary.

XXXXXXX: For invoices issued to foreign customers who do not have an Italian SDI code.

customInfo.ita.transmissionFormat

string

Yes

Here are the possible values:

  • "FPR12"* - invoice to private parties
  • "FPA12"* - invoice to public administration

recipient.contact.email

string

Conditional

When the recipient code is set to 0000000, the invoice is intended to be delivered via a certified email address (recipient PEC). In this case, the recipient's PEC email address must be provided.


Example CSV file

Credit note - Italy.csv