InvoiceInfo

This object is the object that holds the invoice headers. Details about the object are described below.

UUID

It is the unique number in the Guid data type that will be used to track the invoice.

EInvoice.InvoiceInfo.UUID = 'b8787efb-639d-4efc-85b5-953bf1dbaac0';

If the field is sent empty, a new UUID will be added to the invoice by the system.

TemplateUUID

This field is used for the UUID of the XSLT that will be added to the invoice. XSLT of the UUID is added to the invoice.

EInvoice.InvoiceInfo.TemplateUUID = '94e8b735-1361-4d6f-a4a6-3745b62239c8';
  • If the TemplateUUID field is full and the TemplateBase64String field is empty, the design of the entered TemplateUUID information will be added to the invoice.

  • If the TemplateBase64String field is full, TemplateBase64String information will be added as the design of the invoice, regardless of the TemplateUUID field.

  • If the TemplateUUID and TemplateBase64String fields are left blank, the default design will be added to the invoice.

TemplateBase64String

Base64 of the design to be added to the invoice is added here.

  • If the TemplateUUID field is full and the TemplateBase64String field is empty, the design of the entered TemplateUUID information will be added to the invoice.

  • If the TemplateBase64String field is full, TemplateBase64String information will be added as the design of the invoice, regardless of the TemplateUUID field.

  • If the TemplateUUID and TemplateBase64String fields are left blank, the default design will be added to the invoice.

InvoiceType

It is an object of enum data type. It can take the following values. The selection should be made according to the invoice type.

public enum InvoiceType
{
        SATIS = 0,
        IADE = 1,
        ISTISNA = 2,
        TEVKIFAT = 3,
        IHRACKAYITLI = 4,
        IPTAL = 5,
        OZELMATRAH = 6,
        SGK = 7,
        TEVKIFATIADE = 8,
        KOMISYONCU = 9,
        HKSSATIS = 10,
        HKSKOMISYONCU = 11,
        KONAKLAMAVERGISI = 12
 }
EInvoice.InvoiceInfo.InvoiceType = 0;

In case the invoice type is "ISTISNA"; The VAT exemption reason must be entered in the "KDVExemptionReasonCode" field in the TaxExemptionReasonInfo object. The values it can take are stated under VAT Exemption Reasons in the code lists section.

If the invoice type is "IHRACKAYITLI"; The Export registered invoice reason must be entered in the "KDVExemptionReasonCode" field in the TaxExemptionReasonInfo object. The possible values are specified under Export Registered Invoice Reasons in the code lists section.

InvoiceSerieOrNumber

You can enter the 16-digit e-Invoice number and 3-digit serial information in this field. If you enter a 16-digit invoice number, no action will be taken and the value you entered will be determined as the invoice number. If you enter a 3-digit series, a number is generated based on this series defined on the portal.

//Manual Invoice Number
EInvoice.InvoiceInfo.InvoiceSerieOrNumber = "EFT2022000000001";

//Series Information
EInvoice.InvoiceInfo.InvoiceSerieOrNumber = "EFT";

The next number is automatically assigned to the EFT series registered in the portal.

IssueDate

Invoice date and time are entered in this field.

EInvoice.InvoiceInfo.IssueDate = "2022-01-23T10:20:39.846Z";

CurrencyCode

This field is where the currency of the invoice will be entered. The possible values are specified under Currency Codes in the code lists section.

EInvoice.InvoiceInfo.CurrencyCode = "TRY";

ExchangeRate

This field is where the exchange rate will be entered when the invoice is issued in a currency other than Turkish Lira. Exchange rate information will appear on the invoice.

InvoiceProfile

It is an object of enum data type. It can take the following values. This is the field where the scenario of the e-invoice will be specified.

public enum InvoiceProfile 
{ 
        TEMELFATURA = 1,
        TICARIFATURA = 2,
        IHRACAT = 3,
        YOLCUBERABERFATURA = 4,
        EARSIVFATURA = 5,
        KAMU = 6,
        HKS = 7
}

The invoice is automatically accepted without waiting for a response from the recipient. In case of rejection, the buyer must issue a return invoice.

EInvoice.InvoiceInfo.InvoiceProfile = 2;

DespatchDocumentReference

This field is where the delivery note information of the invoice can be entered. More than one delivery note information can be entered.

public class KeyValue
{
  //Despatch date
  public DateTime IssueDate { get; set; }

  //Despatchnumber
  public string Value { get; set; }
}

OrderReference

This field is where order information for the invoice can be entered.

public class KeyValue
{
  //Order date
  public DateTime IssueDate { get; set; }

  //Order number
  public string Value { get; set; }
}

OrderReferenceDocument

This field is where the order document information for the invoice can be entered.

public class AdditionalDocumentReferenceDto
{
  public string ID { get; set; }
  public DateTime? IssueDate { get; set; }
  public string DocumentType { get; set; }
  public string DocumentTypeCode { get; set; }
  public AttachmentDto Attachment { get; set; }
}

public class AttachmentDto
{
    public string Base64Data { get; set; }
    public string MimeCode { get; set; }
    public string FileName { get; set; }
}

ID: The value of the added file or other information can be entered here.

IssueDate: The date of the attached document. (Note: It can be entered as the invoice date even if it is not used as a document but only as a value entry.)

DocumentType: The type or fixed value of the added document can be written in free text format.

DocumentTypeCode: The type or fixed value of the added document can be written as free text.

Attachment: If a file is to be entered, the file can be entered into this field.

  • Base64Data: The Base64 encoded version of the added file is entered here.

  • MimeCode: The MimeCode value of the added file is entered here. (Example: image/png)

  • FileName: The name of the added file can be entered here.

Only files of type 'doc, docx, ppt, pptx, pdf, jpg, jpeg, png' can be uploaded.

AdditionalDocumentReferences

Only files of type 'doc, docx, ppt, pptx, pdf, jpg, jpeg, png' can be uploaded.

public class AdditionalDocumentReferenceDto
{
  public string ID { get; set; }
  public DateTime? IssueDate { get; set; }
  public string DocumentType { get; set; }
  public string DocumentTypeCode { get; set; }
  public AttachmentDto Attachment { get; set; }
}

public class AttachmentDto
{
    public string Base64Data { get; set; }
    public string MimeCode { get; set; }
    public string FileName { get; set; }
}

ID: The value of the added file or other information can be entered here.

IssueDate: The date of the added document. (Note: If not specifically a document, it can also be entered as the invoice date.)

DocumentType: The type of the added document or fixed value can be written as free text.

DocumentTypeCode: The type or fixed value of the added document can be written as free text.

Attachment: If a file is to be entered, the file can be entered into this field.

  • Base64Data: The Base64 encoded version of the added file is entered here.

  • MimeCode: The MimeCode value of the added file is entered here. (Example: image/png)

  • FileName: The name of the added file can be entered here.

Only files of type 'doc, docx, ppt, pptx, pdf, jpg, jpeg, png' can be uploaded.

TaxExemptionReasonInfo

This field is where you can enter the reasons for tax exemptions for 0% VAT or Special Consumption Tax (ÖTV) found on the invoice. The possible values are listed under the "Tax Exemption Reasons" section in the code lists.

public class TaxExemptionReasonInfoDto
{
    public string KDVExemptionReasonCode { get; set; }
    public string OTVExemptionReasonCode { get; set; }
}
EInvoice.InvoiceInfo.TaxExemptionReasonInfo = {
    KDVExemptionReasonCode: "351",
    OTVExemptionReasonCode: "151"
};

PaymentTermsInfo

This is the field where payment terms information will be entered.

public class PaymentTermsDto
{
    public decimal Percent { get; set; }
    public decimal Amount { get; set; }
    public string Note { get; set; }
}

Percent: The penalty rate to be applied in case of late payment is entered numerically.

Amount: The payment amount can be entered numerically.

Note: A free-text description can be entered regarding the payment terms.

PaymentMeansInfo

This is the field where payment method information will be entered.

public class PaymentMeansDto
{
    public string Code { get; set; }
    public string ChannelCode { get; set; }
    public DateTime DueDate { get; set; }
    public string PayeeFinancialAccountID { get; set; }
    public string Note { get; set; }
}

Code: The code for the payment method is entered here. Possible values are specified under the "Payment Method Codes" section in the code lists.

ChannelCode: This is the field where the payment channel code will be entered. Possible values are specified under the "Payment Method Codes" section in the code lists.

DueDate: The deadline for payment is entered in the year-month-day format

PayeeFinancialAccountID: The account to which payment will be made is entered here.

Note: Comments related to the payment can be entered as free text.

OKCInfo

This is the field where information about the payment recording device and receipt will be entered.

public class OKCInfoDto
{
    public string ID { get; set; }
    public DateTime IssueDate { get; set; }
    public string Time { get; set; }
    public string ZNo { get; set; }
    public string EndPointID { get; set; }
    public string DocumentDescription { get; set; }
}

ID: The receipt number is entered.

IssueDate: The receipt date is entered.

Time: The receipt time is entered.

ZNo: The Z Report number is entered.

EndPointID: The ÖKC serial number is entered.

DocumentDescription: The receipt type is entered. Possible values are specified under the "POS Receipt Types" section in the code lists.

ReturnInvoiceInfo

This is the field where information about returned invoices can be entered. Multiple entries can be made.

public class ReturnInvoiceInfoDto
{
    public string InvoiceNumber { get; set; }
    public DateTime IssueDate { get; set; }
}
EInvoice.InvoiceInfo.ReturnInvoiceInfo = [
    { InvoiceNumber:"EFT0000000000001", IssueDate: "2022-03-05" },
    { InvoiceNumber:"EFT0000000000002", IssueDate: "2022-03-06" },
];

AccountingCost

This is the field where the type of invoice is entered if it is related to the Social Security Institution (SGK). Possible values are specified under the "SGK Invoice Types" section in the code lists.

EInvoice.InvoiceInfo.AccountingCost = "SAGLIK_MED";

InvoicePeriod

If the type of invoice is related to the Social Security Institution (SGK), this is the field where the 'Period Start and End Dates' will be entered.

public class InvoicePeriodDto
{
     public DateTime StartDate { get; set; }
     public DateTime StartTime { get; set; }
     public DateTime EndDate { get; set; }
     public DateTime EndTime { get; set; }
}

SGKInfo

If the type of invoice is related to the Social Security Institution (SGK), this is the field where the 'SGK Company Name, Document Number, and SGK Company Code' will be entered.

public class SGKInfoDto
{
     public string RegisterName { get; set; }
     public string DocumentNumber { get; set; }
     public string RegisterCode { get; set; }
}

RegisterName: The SGK company name is entered.

DocumentNumber: The document number is entered.

RegisterCode: The SGK company code is entered.

Last updated