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

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

{% hint style="info" %}
Alanın boş gönderilmesi durumunda sistem tarafından yeni bir UUID faturaya eklenecektir.
{% endhint %}

### TemplateUUID

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

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

{% hint style="info" %}
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.
{% endhint %}

### TemplateBase64String

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

{% hint style="info" %}
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.
{% endhint %}

### InvoiceType

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

```csharp
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,
        SARJ = 13,
        SARJANLIK = 14,
        TEKNOLOJIDESTEK = 15,
        YTBSATIS = 16,
        YTBISTISNA = 17,
        YTBIADE = 18,
        YTBTEVKIFAT = 19,
        YTBTEVKIFATIADE = 20
 }
```

```javascript
ArchiveInvoice.InvoiceInfo.InvoiceType = 0;
```

{% hint style="info" %}
Fatura tipi <mark style="color:red;">**"ISTISNA"**</mark> olması durumunda ;\ <mark style="color:blue;">TaxExemptionReasonInfo</mark> nesnesinde bulunan **"KDVExemptionReasonCode"** alanına KDV istisna muafiyet sebebi girilmelidir. Alabileceği değerler kod listeleri bölümünde [<mark style="color:blue;">KDV Muafiyet Sebepleri</mark>](/kod-listeleri.md#kdv-muafiyet-sebepleri) altında belirtilmiştir.
{% endhint %}

{% hint style="info" %}
Fatura tipi <mark style="color:red;">**"IHRACKAYITLI"**</mark> olması durumunda ;

<mark style="color:blue;">TaxExemptionReasonInfo</mark> nesnesinde bulunan **"KDVExemptionReasonCode"** alanına İhraç kayıtlı fatura sebebi girilmelidir. Alabileceği değerler kod listeleri bölümünde [<mark style="color:blue;">İhraç Kayıtlı Fatura Sebepleri</mark>](/kod-listeleri.md#ihrac-kayitli-kod-listesi) altında belirtilmiştir.
{% endhint %}

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

<pre class="language-javascript"><code class="lang-javascript">//Manuel Fatura Numarası
ArchiveInvoice.InvoiceInfo.InvoiceSerieOrNumber = "<a data-footnote-ref href="#user-content-fn-1">EAR2022000000001</a>";

//Seri Bilgisi
ArchiveInvoice.InvoiceInfo.InvoiceSerieOrNumber = "EAR";
</code></pre>

{% hint style="info" %}
Portal da kayıtlı EFT serisine otomatik olarak sıradaki numara verilir.
{% endhint %}

### IssueDate

> Bu alana fatura tarihi ve saati girilir.

```javascript
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 [<mark style="color:blue;">Para Birim Kodları</mark>](/kod-listeleri.md#para-birim-kodlari) altında belirtilmiştir. &#x20;

```javascript
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.

```csharp
public class KeyValue
{
  //İrsaliye Tarihi
  public DateTime IssueDate { get; set; }

  //İrsaliye Numarası
  public string Value { get; set; }
}
```

```javascript
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.

```csharp
public class KeyValue
{
  //Sipariş Tarihi
  public DateTime IssueDate { get; set; }

  //Sipariş Numarası
  public string Value { get; set; }
}
```

```javascript
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.

```csharp
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.

```csharp
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.<br>
>
> * **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.

{% hint style="info" %}
Yalnızca ' doc, docx, ppt, pptx, pdf, jpg, jpeg, png ' Tipinde Dosyalar Yüklenebilir.
{% endhint %}

### 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 [<mark style="color:blue;">KDV Muafiyet Sebepleri</mark>](/kod-listeleri.md#kdv-muafiyet-sebepleri) / [<mark style="color:blue;">ÖTV Muafiyet Sebepleri</mark>](/kod-listeleri.md#oetv-muafiyet-sebepleri) altında belirtilmiştir.&#x20;

```csharp
public class TaxExemptionReasonInfoDto
{
    public string KDVExemptionReasonCode { get; set; }
    public string OTVExemptionReasonCode { get; set; }
}
```

```javascript
ArchiveInvoice.InvoiceInfo.TaxExemptionReasonInfo = {
    KDVExemptionReasonCode: "351",
    OTVExemptionReasonCode: "151"
};
```

### PaymentTermsInfo

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

```csharp
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.

```csharp
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 [<mark style="color:blue;">Ödeme Şekli Kodları</mark>](/kod-listeleri.md#oedeme-sekli-kodlari) altında belirtilmiştir.

> **ChannelCode:** Ödeme kanalı kodunun girileceği alandır. Alabileceği değerler kod listeleri bölümünde [<mark style="color:blue;">Ödeme Kanal Kodları</mark>](/kod-listeleri.md#oedeme-kanal-kodlari) 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.

```csharp
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 [<mark style="color:blue;">OKC Fiş Tipleri</mark>](/kod-listeleri.md#okc-fis-tipleri) altında belirtilmiştir.

### ReturnInvoiceInfo

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

```csharp
public class ReturnInvoiceInfoDto
{
    public string InvoiceNumber { get; set; }
    public DateTime IssueDate { get; set; }
}
```

```javascript
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.

```csharp
public enum SalesPlatform
{
     NORMAL = 0,
     INTERNET = 1 
}
```

```javascript
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.

```csharp
public enum SendType
{ 
     KAGIT = 1,
     ELEKTRONIK = 2
}
```

```javascript
ArchiveInvoice.InvoiceInfo.SendType = "ELEKTRONIK";
```

{% hint style="info" %}
Satış kanalı (SalesPlatform) **INTERNET** olması durumunda gönderim tipi <mark style="color:red;">**ELEKTRONIK**</mark> olmak zorundadır.
{% endhint %}

### InternetInfo

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

{% hint style="info" %}
**İnternet** satışlarında <mark style="color:red;">**doldurulması**</mark> zorunludu&#x72;**.**
{% endhint %}

```csharp
public class InternetInfoDto
{
     public string WebSite { get; set; }
     public string PaymentMethod { get; set; }
     public string PaymentMethodName { get; set; }
     public string PaymentAgentName { 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 **DIGER** girildiğinde buraya ödeme yöntemi açıklaması girilmesi gerekir.
>
> Ödeme yöntemi <mark style="color:red;">**‘DIGER’**</mark> olması durumunda zorunludur.

> **PaymentAgentName:** Ödeme aracısı bilgisinin girileceği alandır.

> **PaymentDate:** Ödeme tarihinin girileceği alandır.
>
> * Ödeme yönteminin **DIGER** olduğu durumda <mark style="color:blue;">**zorunlu değil**</mark>, onun dışında <mark style="color:red;">**zorunludur**</mark>.

{% hint style="info" %}
**"TransporterName, TransporterRegisterNumber, TransportDate"** alanları fatura kalemlerinin hizmet olmadığı yani taşıma işlemi olduğu durumda <mark style="color:red;">**zorunludur**</mark>.
{% endhint %}

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

### Expenses

> Faturada masral eklenmek istenildiğinde kullanılan alandır.

```csharp
public class ExpensesDto
{
    public ExpenseType ExpenseType { get; set; }
    public decimal Percent { get; set; }
    public decimal Amount { get; set; }
}
```

> **ExpenseType:** Masraf türü girilir.

> **Percent:** Masraf yüzdesi girilir.

> **Amount:** Masrafın KDV hariç tutarı girilir.

### InvesmentIncentive

> Yatırım teşvik ile ilgili faturalarda kullanılır.

```csharp
public class InvestmentIncentiveDto
{
    public string DocumentNumber { get; set; }
    public DateTime DocumentDate { get; set; }
}
```

> **DocumentNumber:** Yatırım teşvik belge numarası girilir.

> **DocumentDate:** Yatırım teşvik belgesinin tarihi girilir.

### ESUReportInfo

> Fatura tipi **SARJ** iken kullanılır.

```csharp
public class ESUReportInfoDto
{
    public string ID { get; set; }
    public DateTime IssueDate { get; set; }
}
```

> **ID:** ESU rapor ID bilgisi girilir.

> **IssueDate:** ESU rapor tarihi girilir.

[^1]:


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.nilvera.com/nilvera-model/archiveinvoice/invoiceinfo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
