InvoiceInfo

Bu nesne, fatura üst bilgilerini barındıran nesnedir. Nesne ile ilgili detaylar aşağıda anlatılmıştır.

UUID

Guid veri tipinde faturanın takibi için kullanılacak unique numaradır.

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

Alanın boş gönderilmesi durumunda sistem tarafından yeni bir UUID faturaya eklenecektir.

TemplateUUID

Bu alan faturaya eklenecek olan XSLT’nin UUID'si için kullanılır. UUID'ye ait XSLT faturaya eklenir.

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

Eğer TemplateUUID ve TemplateBase64String alanları boş geçilirse faturaya varsayılan tasarım eklenecektir. Herhangi birinin dolu olması durumunda girilen bilgilere ait tasarım faturaya eklenir.

TemplateBase64String

Faturaya eklenecek tasarımın Base64'ü buraya eklenir.

Eğer TemplateUUID ve TemplateBase64String alanları boş geçilirse faturaya varsayılan tasarım eklenecektir. Herhangi birinin dolu olması durumunda girilen bilgilere ait tasarım faturaya eklenir.

InvoiceType

Enum veri tipinde bir nesnedir. Aşağıdaki bulunan değerleri alabilir. Fatura tipine göre seçim yapılmalıdır.

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;

Fatura tipi "ISTISNA" olması durumunda ; TaxExemptionReasonInfo nesnesinde bulunan "KDVExemptionReasonCode" alanına KDV istisna muafiyet sebebi girilmelidir. Alabileceği değerler kod listeleri bölümünde KDV Muafiyet Sebepleri altında belirtilmiştir.

Fatura tipi "IHRACKAYITLI" olması durumunda ;

TaxExemptionReasonInfo nesnesinde bulunan "KDVExemptionReasonCode" alanına İhraç kayıtlı fatura sebebi girilmelidir. Alabileceği değerler kod listeleri bölümünde İhraç Kayıtlı Fatura Sebepleri altında belirtilmiştir.

InvoiceSerieOrNumber

Bu alana 16 haneli e-Arşiv fatura numarasını, 3 haneli seri bilgisini girebilirsiniz. 16 haneli fatura numarası girmeniz durumunda herhangi bir işlem yapılmaz fatura numarası olarak girdiğiniz değer belirlenir. Eğer 3 haneli seri girerseniz portal üzerinde tanımlı olan bu seri üzerinden numara üretilir.

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

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

Portal da kayıtlı EFT serisine otomatik olarak sıradaki numara verilir.

IssueDate

Bu alana fatura tarihi ve saati girilir.

ArchiveInvoice.InvoiceInfo.IssueDate = "2022-01-21T12:40:39.846Z";

CurrencyCode

Bu alan faturanın para biriminin girileceği alandır. Alabileceği değerler kod listeleri bölümünde Para Birim Kodları altında belirtilmiştir.

ArchiveInvoice.InvoiceInfo.CurrencyCode = "TRY";

ExchangeRate

Bu alan faturanın Türk lirasından farklı bir para biriminde kesildiğinde döviz kurunun girileceği alandır. Fatura üzerinde kur bilgisi görünecektir.

DespatchDocumentReference

Bu alan faturaya ait irsaliye bilgilerinin girilebileceği alandır. Birden fazla irsaliye bilgisi girilebilir.

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

Bu alan faturaya ait sipariş bilgilerinin girilebileceği alandır.

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

Bu alan faturaya ait sipariş belgesi bilgilerinin girilebileceği alandır.

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: Eklenen dosyanın yada diğer bilginin değeri buraya girilebilir.

IssueDate: Eklenen belgenin tarihi. (Not: Bir belge değil sadece değer girişi olarak kullanılacaksa da fatura tarihi olarak girilebilir.)

DocumentType: Eklenen belgenin tipi veya sabit değer serbest metin şeklinde yazılabilir.

DocumentTypeCode: Eklenen belgenin tipi veya sabit değer serbest metin şeklinde yazılabilir.

Attachment: Eğer bir dosya girilecekse, dosya bu alana girilebilir.

  • Base64Data: Eklenen dosyanın Base64 encode edilmiş hali buraya girilir.

  • MimeCode: Eklenen dosyanın MimeCode değeri buraya girilir. (Örn : image/png)

  • FileName: Eklenen dosyanın adı buraya girilebilir.

AdditionalDocumentReferences

Fatura içerisine ek dosya yada farklı bilgileri eklemek için kullanabileceğiniz alandır. Birden fazla dosya girilebilir.

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: Eklenen dosyanın yada diğer bilginin değeri buraya girilebilir.

IssueDate: Eklenen belgenin tarihi. (Not: Bir belge değil sadece değer girişi olarak kullanılacaksa da fatura tarihi olarak girilebilir.)

DocumentType: Eklenen belgenin tipi veya sabit değer serbest metin şeklinde yazılabilir.

DocumentTypeCode: Eklenen belgenin tipi veya sabit değer serbest metin şeklinde yazılabilir.

Attachment: Eğer bir dosya girilecekse, dosya bu alana girilebilir.

  • Base64Data: Eklenen dosyanın Base64 encode edilmiş hali buraya girilir.

  • MimeCode: Eklenen dosyanın MimeCode değeri buraya girilir. (Örn : image/png)

  • FileName: Eklenen dosyanın adı buraya girilebilir.

Yalnızca ' doc, docx, ppt, pptx, pdf, jpg, jpeg, png ' Tipinde Dosyalar Yüklenebilir.

TaxExemptionReasonInfo

Bu alan faturada bulunan 0 KDV veya ÖTV'lerin vergi muafiyet sebeplerini girebileceğiniz alandır. Alabileceği değerler kod listeleri bölümünde KDV Muafiyet Sebepleri / ÖTV Muafiyet Sebepleri altında belirtilmiştir.

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

PaymentTermsInfo

Ödeme koşulları bilgisinin girileceği alandır.

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

Percent: Ödemenin gecikmesi durumunda uygulanacak ceza oranı numerik olarak girilir.

Amount: Ödeme tutarı numerik olarak girilebilir.

Note: Ödeme koşulları ile ilgili açıklama serbest metin olarak girilir.

PaymentTermsInfo

Ödeme Şekli bilgilerinin girileceği alandır.

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: Ödeme şeklinin kodu girilir. Alabileceği değerler kod listeleri bölümünde Ödeme Şekli Kodları altında belirtilmiştir.

ChannelCode: Ödeme kanalı kodunun girileceği alandır. Alabileceği değerler kod listeleri bölümünde Ödeme Kanal Kodları altında belirtilmiştir.

DueDate: Son ödeme günü yıl-ay-gün formatında girilir.

PayeeFinancialAccountID: Ödeme yapılacak hesap girilir.

Note: Ödeme ile ilgili açıklamalar serbest metin olarak girilir.

OKCInfo

Ödeme kaydedici cihaz ve fiş bilgisinin girileceği alandır.

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: Fiş numarası girilir.

IssueDate: Fiş tarihi girilir.

Time: Fiş saati girilir.

ZNo: Z Rapor numarası girilir.

EndPointID: ÖKC Seri numarası girilir.

DocumentDescription: Fiş tipi girilir. Alabileceği değerler kod listeleri bölümünde OKC Fiş Tipleri altında belirtilmiştir.

ReturnInvoiceInfo

İade edilen faturaların bilgilerinin girileceği alandır. Birden fazla giriş yapılabilir.

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-Arşiv fatura üzerinde “İrsaliye yerine geçer” ibaresinin bulunup bulunmamasının belirtileceği alandır. Fatura malın teslimi anında düzenleniyor ve irsaliye kullanılmıyorsa ISDespatch alanı true olarak ayarlanır. Böylelikle fatura irsaliye yerine geçecek şekilde kullanılabilir.

SalesPlatform

Enum veri tipinde bir nesnedir. Satışın yapıldığı platformu belirtmek için kullanılır. NORMAL, INTERNET değerlerini alabilir.

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

SendType

Enum veri tipinde bir nesnedir. E-Arşiv faturasının alıcıya nasıl teslim edildiğinin belirtileceği alandır. KAGIT, ELEKTRONIK değerlerini alabilir.

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

Satış kanalı (SalesPlatform) INTERNET olması durumunda gönderim tipi ELEKTRONIK olmak zorundadır.

InternetInfo

İnternet satışlarında e-Arşiv faturada olması gereken bilgilerin girileceği alandır.

İnternet satışlarında doldurulması zorunludur.

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: Satışın yapıldığı web sitesi bilgisinin girileceği alandır.

PaymentMethod: Ödeme yönteminin girileceği alandır. Aşağıdaki değerleri alabilir.

  • KREDIKARTI/BANKAKARTI

  • EFT/HAVALE

  • KAPIDAODEME

  • ODEMEARACISI

  • DIGER

PaymentMethodName: Ödeme yöntemi olarak ODEMEARACISI yada DIGER girildiğinde buraya ödeme aracısı adı/diğerin açıklaması girilmesi gerekir.

Ödeme yöntemi ‘DIGER’ yada ‘ODEMEARACISI’ olması durumunda zorunludur.

PaymentDate: Ödeme tarihinin girileceği alandır.

  • Ödeme yönteminin DIGER olduğu durumda zorunlu değil, onun dışında zorunludur.

"TransporterName, TransporterRegisterNumber, TransportDate" alanları fatura kalemlerinin hizmet olmadığı yani taşıma işlemi olduğu durumda zorunludur.

TransporterName: Taşıyıcı ünvan bilgisinin girileceği alandır.

TransporterRegisterNumber: Taşıyıcı VKN/TCKN bilgisinin girileceği alandır.

TransportDate: Taşıma tarihinin girileceği alandır.