# InvoiceLines

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

```csharp
public class EInvoiceLineDto
{
     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 DeliveryInfoDto DeliveryInfo { get; set; }
     public string ManufacturerCode { get; set; }
     public string BrandName { get; set; }
     public string ModelName { get; set; }
     public string Note { get; set; }
     public string GTIPNo { get; set; }
     public string OzelMatrahReason { get; set; }
     public decimal OzelMatrahTotal { get; set; }
     public decimal VatAmountWithoutTevkifat { get; set; }
     public MedicineAndMedicalDeviceDto MedicineAndMedicalDevice { get; set; }
     public AdditionalItemIdentificationDto AdditionalItemIdentification { 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 Birim Kodları altında belirtilmiştir.

### Price

<mark style="color:blue;">`string`</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:red;">`Zorunlu`</mark>

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

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

KDV Oranı 0 olması durumunda vergi muafiyet sebebi belirtilmelidir. Vergi muafiyet nesnesi için Bkz.

TaxExcemptionReasonInfo
{% endhint %}

### KDVTotal

<mark style="color:blue;">`decimal`</mark>  <mark style="color:red;">`Zorunlu`</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 Vergi Kodları 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 Tevkifat Kodları 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
EInvoice.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:orange;">`Seçimli`</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:orange;">`Seçimli`</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 %}

### DeliveryInfo

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

{% hint style="info" %} <mark style="color:red;">**IHRACAT**</mark> faturalarında İhracat bilgilerinin girileceği bölümdür.
{% endhint %}

```csharp
public class DeliveryInfoDto
{
     public string GTIPNo { get; set; }
     public string DeliveryTermCode { get; set; }
     public string TransportModeCode { get; set; }
     public string PackageBrandName { get; set; }
     public string ProductTraceID { get; set; }
     public string PackageID { get; set; }
     public decimal PackageQuantity { get; set; }
     public string PackageTypeCode { get; set; }
     public AddressInfoDto DeliveryAddress { get; set; }
}
```

> **GTIPNo**  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark> \
> GTIP (Gümrük Tarife İstatistik Pozisyonu) Numarasının girileceği alandır.&#x20;

> **DeliveryTermCode**  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark> \
> Mal / Hizmetin Teslim şartının girileceği alandır. Alabileceği değerler kod listeleri bölümünde Teslim Şartı Kodları altında belirtilmiştir.

> **TransportModeCode**  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>&#x20;
>
> Gönderim şekli bilgisinin girileceği alandır. Alabileceği değerler kod listeleri bölümünde Gönderim Şekli Kodları altında belirtilmiştir.

> **PackageBrandName**  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>
>
> Mal / Hizmetin bulunduğu Kabın Marka isminin girileceği alandır.

> **ProductTraceID**  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>&#x20;
>
> Gümrük Takip Numarasının girileceği alandır.

> **PackageID**  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>
>
> Mal / Hizmetin bulunduğu Kabın Numarasının girileceği alandır.

> **PackageQuantity**  <mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`Seçimli`</mark>
>
> Mal / Hizmetin bulunduğu Kabın Adet bilgisi girilir.

> **PackageTypeCode**  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>
>
> Mal / Hizmetin bulunduğu Kabın Cinsinin girileceği alandır. Alabileceği değerler kod listeleri bölümünde Kab Cinsleri altında belirtilmiştir.

{% hint style="info" %}
**DeliveryAddress**<mark style="color:red;">**(Malın Teslim ve Bedelinin Ödeme Yeri)**</mark> bilgilerinin girileceği alan aşağıda belirtilmiştir.&#x20;
{% endhint %}

<mark style="color:red;">`Zorunlu`</mark>&#x20;

```csharp
public class AddressInfoDto
{
     public string Address { get; set; }
     public string District { get; set; }
     public string City { get; set; }
     public string Country { get; set; }
     public string PostalCode { get; set; }
     public string Phone { get; set; }
     public string Fax { get; set; }
     public string Mail { get; set; }
     public string WebSite { get; set; }
}
```

> **Address:** Malın teslim yerine ait adres bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> **District:** Malın teslim yerine ait ilçe bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> **City:** Malın teslim yerine ait şehir bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> **Country:** Malın teslim yerine ait ülke bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> **PostalCode:** Malın teslim yerine ait posta kodu bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> **Phone:** Malın teslim yerine ait telefon numarası bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> **Fax:** Malın teslim yerine ait fax bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> **Mail:** Malın teslim yerine ait mail bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

> **WebSite:** Malın teslim yerine ait web site bilgisi girilir.  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>

### VatAmountWithTevkifat

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

{% hint style="info" %} <mark style="color:red;">**TEVKİFAT**</mark> faturalarında tevkifatlı tutarın girileceği bölümdür.
{% endhint %}

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