# InvoiceLines

> Fatura kalemlerinin(Mal / Hizmet) tüm detaylarının girileceği alandır.

```csharp
public class EArchiveInvoiceLineDto
{
     public string Index { get; set; }
     public string SellerCode { get; set; }
     public string BuyerCode { get; set; }
     public string Name { get; set; }
     public string Description { get; set; }
     public decimal Quantity { get; set; }
     public string UnitType { get; set; }
     public decimal Price { get; set; }
     public decimal AllowanceTotal { get; set; }
     public decimal KDVPercent { get; set; }
     public decimal KDVTotal { get; set; }
     public List<TaxDto> Taxes { get; set; }
     public string ManufacturerCode { get; set; }
     public string BrandName { get; set; }
     public string ModelName { get; set; }
     public string Note { get; set; }
     public string OzelMatrahReason { get; set; }
     public decimal OzelMatrahTotal { get; set; }
}
```

### Index

<mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Fatura kaleminin sıra numarasının belirtileceği alandır.

### SellerCode

<mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Ürünün satıcı kodunun girileceği alandır.

### BuyerCode

<mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Ürünün alıcı kodunun girileceği alandır.

### Name

<mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> Ürünün adının girileceği alandır.

### **Description**

<mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Ürünün açıklamasının girileceği alandır.

### Quantity

<mark style="color:blue;">`decimal`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> Miktarın girileceği alandır.

### UnitType

<mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> Birim tipinin girileceği alandır. Alabileceği değerler kod listeleri bölümünde [<mark style="color:blue;">Birim Kodları</mark>](https://developer.nilvera.com/kod-listeleri#birim-kodlari) altında belirtilmiştir.

### Price

<mark style="color:blue;">`decimal`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> Ürün fiyatının girileceği alandır.

### AllowanceTotal

<mark style="color:blue;">`decimal`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> İskonto tutarının girileceği alandır.

### KDVPercent

<mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Ürünün KDV oranının girileceği alandır.

{% hint style="info" %}
**KDV Oranları:** 0,1, 10 ve 20'dir.

KDV Oranı 0 olması durumunda vergi muafiyet sebebi belirtilmelidir. Vergi muafiyet nesnesi için Bkz.  [<mark style="color:blue;">TaxExemptionReasonInfo</mark>](https://developer.nilvera.com/kod-listeleri#kdv-muafiyet-sebepleri)
{% endhint %}

### KDVTotal

<mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Ürünün KDV toplamının girileceği alandır.

### Taxes

<mark style="color:blue;">`List`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Ürüne eklenecek diğer vergilerin girileceği alandır. Alabileceği değerler kod listeleri bölümünde [<mark style="color:blue;">Vergi Kodları</mark>](https://developer.nilvera.com/kod-listeleri#vergi-kodlari-listesi) altında belirtilmiştir.

```csharp
public class TaxDto
{
     public string TaxCode { get; set; }
     public decimal Total { get; set; }
     public decimal Percent { get; set; }
     public string ReasonCode { get; set; }
     public string ReasonDesc { get; set; }
}
```

> **TaxCode:** Vergi kodunun girileceği alandır.  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> **Total:** Vergi toplamının girileceği alandır.  <mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`Vergiye göre değişiklik gösterir.`</mark>

> **Percent:** Vergi oranının girileceği alandır.  <mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`Vergiye göre değişiklik gösterir.`</mark>

{% hint style="info" %}
Girilen vergi kod listeleri bölümünde [<mark style="color:blue;">Tevkifat Kodları</mark>](https://developer.nilvera.com/kod-listeleri#kdv-tevkifat-kodlari) altında yer alıyor ise aşağıda bulunan alanların doldurulması zorunludur.

**ReasonCode:** Kodun girileceği alandır.

**ReasonDesc:** Kodun açıklamasının girileceği alandır.
{% endhint %}

> **Örn:** Eğer girilen vergi <mark style="color:red;">**KDV Tevkifatına**</mark> ait ise;

```javascript
ArchiveInvoice.InvoiceLines[0].Taxes = [
    {
        TaxCode: "9015",
        Total: 1.72, //1.72 örnek olarak verilmiştir.
        Percent: 40,
        ReasonCode: "601",
        ReasonDesc: "Yapım İşleri İle Bu İşlerle Birlikte İfa Edilen Mühendislik"
    }
]
```

### **ManufacturerCode**

<mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Üretici kodunun girileceği alandır.

### **BrandName**

<mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Marka adının girileceği alandır.

### **ModelName**

<mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Model adının girileceği alandır.

### **Note**

<mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> Notun ekleneceği alandır.

### OzelMatrahReason

<mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> Özel matrah nedeninin girileceği alandır. Alabileceği değerler kod listeleri bölümünde Özel Matrah Kodları altında belirtilmiştir.

{% hint style="info" %}
Fatura tipi <mark style="color:red;">**“OZELMATRAH”**</mark> olması durumunda doldurulacaktır.
{% endhint %}

### OzelMatrahTotal

<mark style="color:blue;">`decimal`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> Özel matrah tutarının girileceği alandır.

{% hint style="info" %}
Fatura tipi <mark style="color:red;">**“OZELMATRAH”**</mark> olması durumunda doldurulacaktır.
{% endhint %}

{% hint style="info" %}
Satış bedeli tek kalemde girilecektir. Kalemde gösterilen KDV "Özel Matrah Tutarı" üzerinden hesaplanacaktır.
{% endhint %}
