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.

ArchiveInvoice.InvoiceInfo.UUID = '05da44f4-9db7-4030-a8cc-8f5b12408569';

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.

ArchiveInvoice.InvoiceInfo.TemplateUUID = '94e8b735-1361-4d6f-a4a6-3745b62239c8';

If the TemplateUUID and TemplateBase64String fields are left blank, the default design will be added to the invoice. If any of the items are filled, the design for the entered information is added to the invoice.

TemplateBase64String

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

If the TemplateUUID and TemplateBase64String fields are left blank, the default design will be added to the invoice. If any of the items are filled, the design for the entered information is 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
 }
ArchiveInvoice.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-Archive 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.

//Manuel Fatura Numarası
ArchiveInvoice.InvoiceInfo.InvoiceSerieOrNumber = "";

//Seri Bilgisi
ArchiveInvoice.InvoiceInfo.InvoiceSerieOrNumber = "EAR";

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

IssueDate

Invoice date and time are entered in this field.

ArchiveInvoice.InvoiceInfo.IssueDate = "2022-01-21T12:40: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.

ArchiveInvoice.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.

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
{
  //İrsaliye Tarihi
  public DateTime IssueDate { get; set; }

  //İrsaliye Numarası
  public string Value { get; set; }
}
ArchiveInvoice.InvoiceInfo.OrderReference = [
    { IssueDate: "2022-02-23", Value: "EIR2022000000001" },
    { IssueDate: "2022-02-24", Value: "EIR2022000000002" }
];

OrderReference

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
{
  //Sipariş Tarihi
  public DateTime IssueDate { get; set; }

  //Sipariş Numarası
  public string Value { get; set; }
}
ArchiveInvoice.InvoiceInfo.OrderReference = {
    IssueDate: "2022-02-01", //(Örn: İrsaliye Tarihi)
    Value: "EIR2022000000003" //(Örn: İrsaliye Nuamrası)
};

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 of the inserted document or literal can be written in free text.

DocumentTypeCode: The type of the inserted document or literal can be written in free text.

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

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

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

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

AdditionalDocumentReferences

This is the area you can use to add additional files or different information to the invoice content. More than one file 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: Added The date of the added document. (Note: Even if it is not used as a document but only as a value entry, it can be entered as the invoice date.) The value of the file or other information can be entered here.

DocumentType: The type of the inserted document or literal can be written in free text.

DocumentTypeCode: The type of the inserted document or literal can be written in free text.

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

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

  • MimeCode: The MimeCode value of the added file is entered here. (Ex: 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 is the field where you can enter the tax exemption reasons for the 0 VAT or SCT on the invoice. The values it can take are specified under VAT Exemption Reasons / SCT Exemption Reasons in the code lists section.

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

PaymentTermsInfo

This is the field where payment terms information is 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 delay in payment is entered numerically.

Amount: Payment amount can be entered numerically.

Note: The description of the payment terms is entered as free text.

PaymentTermsInfo

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 of the payment method is entered. The possible values are specified under Payment Method Codes in the code lists section.

ChannelCode: This is the field where the payment channel code is entered. The possible values are specified under Payment Channel Codes in the code lists section.

DueDate: The due date of payment is entered in year-month-day format.

PayeeFinancialAccountID: The account to be paid is entered.

Note: Explanations regarding payment are entered as free text.

OKCInfo

This is the field where payment recording device and receipt information is 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: Receipt time is entered.

ZNo: Z Report number is entered.

EndPointID: ÖKC Serial number is entered.

DocumentDescription: Receipt type is entered. The possible values are stated under OKC Plug Types in the code lists section.

ReturnInvoiceInfo

This is the field where the information of the returned invoices is entered. More than one entry can be made.

public class ReturnInvoiceInfoDto
{
    public string InvoiceNumber { get; set; }
    public DateTime IssueDate { get; set; }
}
ArchiveInvoice.InvoiceInfo.ReturnInvoiceInfo = [
    { InvoiceNumber:"EAR0000000000001", IssueDate: "2022-03-07" },
    { InvoiceNumber:"EAR0000000000002", IssueDate: "2022-03-08" },
];

ISDespatch

e-Archive is the field where it will be stated whether the phrase "replaces the delivery note" will be included on the invoice. If the invoice is issued at the time of delivery of the goods and a delivery note is not used, the ISDespatch field is set to true. Thus, the invoice can be used as a delivery note.

SalesPlatform

It is an object of enum data type. It is used to indicate the platform on which the sale is made. It can take the values NORMAL, INTERNET.

public enum SalesPlatform
{
     NORMAL = 0,
     INTERNET = 1 
}
ArchiveInvoice.InvoiceInfo.SalesPlatform = "NORMAL";

SendType

It is an object of enum data type. This is the field where it will be stated how the E-Archive invoice is delivered to the recipient. It can take the values PAPER, ELECTRONIC.

public enum SendType
{ 
     KAGIT = 1,
     ELEKTRONIK = 2
}
ArchiveInvoice.InvoiceInfo.SendType = "ELEKTRONIK";

If the sales channel (SalesPlatform) is INTERNET, the delivery type must be ELECTRONIC.

InternetInfo

For internet sales, e-Archive is the field where the information required on the invoice will be entered.

It is mandatory to fill in online sales.

public class InternetInfoDto
{
     public string WebSite { get; set; }
     public string PaymentMethod { get; set; }
     public string PaymentMethodName { get; set; }
     public DateTime PaymentDate { get; set; }
     public string TransporterName { get; set; }
     public string TransporterRegisterNumber { get; set; }
     public DateTime TransportDate { get; set; }
}

WebSite: This is the field where the website information where the sale was made will be entered.

PaymentMethod: This is the field where the payment method will be entered. It can take the following values.

  • KREDIKARTI/BANKAKARTI

  • EFT/HAVALE

  • KAPIDAODEME

  • ODEMEARACISI

  • DIGER

PaymentMethodName: When ODEMEARACISI or OTHER is entered as the payment method, the name of the payment agent/description of the other must be entered here.

It is mandatory if the payment method is 'OTHER' or 'PAYMENT INTERMEDIARY'.

PaymentDate: This is the field where the payment date will be entered.

  • It is not mandatory if the payment method is OTHER, but it is mandatory otherwise.

"TransporterName, TransporterRegisterNumber, TransportDate" fields are mandatory when the invoice items are not services, that is, transportation transactions.

TransporterName: This is the field where carrier title information is entered.

TransporterRegisterNumber: This is the field where the Carrier TIN/TC ID information will be entered.

TransportDate: This is the field where the transportation date will be entered.

Last updated