> For the complete documentation index, see [llms.txt](https://developer.nilvera.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.nilvera.com/en/nilvera-model/einvoice/invoicelines.md).

# InvoiceLines

> This is the area where all the details of the invoice items (goods/services) will be entered.

```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 OzelMatrahReason { get; set; }
     public decimal OzelMatrahTotal { get; set; }
}
```

### Index

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

> This is the field where the item number of the invoice will be specified.

### SellerCode

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

> This is the field where the product's seller code will be entered.

### BuyerCode

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

> This is the field where the product's recipient code will be entered.

### Name

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

> This is the area where the product name will be entered.

### Description

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

> This is the area where the product description will be entered.

### Quantity

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

> This is the field where the amount will be entered.

### UnitType

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

> This is the field where the unit type is entered. The possible values ​​are listed under Unit Codes in the code lists section.

### Price

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

> This is the area where the product price will be entered.

### AllowanceTotal

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

> This is the field where the discount amount will be entered.

### KDVPercent

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

> This is the field where the product's VAT rate will be entered.

{% hint style="info" %}
VAT Rates: 1, 10, and 20%.

If the VAT rate is 0, the reason for the tax exemption must be stated. See TaxExcemptionReasonInfo for the tax exemption reason.
{% endhint %}

### KDVTotal

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

> This is the field where the total VAT amount of the product will be entered.

### Taxes

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

> This is the area where other taxes to be added to the product are entered. The possible values ​​are specified under Tax Codes in the code lists section.

```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:** This is the field where the tax code is entered.  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>

> **Total:** This is the field where the total tax amount will be entered.  <mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`Vergiye göre değişiklik gösterir.`</mark>

> **Percent:** This is the field where the tax rate will be entered. <mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`Vergiye göre değişiklik gösterir.`</mark>

{% hint style="info" %}
If the entered tax code list appears under Withholding Tax Codes, the following fields must be filled in:

ReasonCode: This is the field where the code will be entered.\
ReasonDesc: This is the field where the code description will be entered.
{% endhint %}

> **Exp:** If the tax entered is VAT withholding;

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

> This is the field where the manufacturer code will be entered.

### BrandName

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

> This is the field where the brand name will be entered.

### ModelName

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

> This is the field where the model name will be entered.

### Note

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

> This is the area where the note will be added.

### OzelMatrahReason

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

> This is the field where the reason for the special tax base is entered. The possible values ​​are specified under Special Tax Base Codes in the code lists section.

{% hint style="info" %}
This section should be filled out if the invoice type is "OZELMATRAH".
{% endhint %}

### OzelMatrahTotal

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

> This is the field where the specific tax base amount will be entered.

{% hint style="info" %}
This section should be filled out if the invoice type is "OZELMATRAH".
{% endhint %}

{% hint style="info" %}
The sales price will be entered in a single entry. The VAT shown in the entry will be calculated based on the "Special Tax Base Amount".
{% endhint %}

### DeliveryInfo

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

{% hint style="info" %}
This section is where export information is entered on IHRACAT invoices.
{% 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> \
> This is the field where the GTIP (Customs Tariff Statistical Position) number will be entered.

> **DeliveryTermCode**  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark> \
> This is the field where the delivery terms for the goods/services are entered. The possible values ​​are listed under Delivery Terms Codes in the code lists section.

> **TransportModeCode**  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>&#x20;
>
> This is the field where the shipping method information is entered. The possible values ​​are listed under Shipping Method Codes in the Code Lists section.

> **PackageBrandName**  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>
>
> This is the field where the brand name of the container holding the goods/services will be entered.

> **ProductTraceID**  <mark style="color:blue;">`string`</mark>  <mark style="color:red;">`Zorunlu`</mark>&#x20;
>
> This is the field where the Customs Tracking Number will be entered.

> **PackageID**  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>
>
> This is the field where the container number of the goods/services is entered.

> **PackageQuantity**  <mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`Seçimli`</mark>
>
> The quantity of containers holding the goods/services is entered.

> **PackageTypeCode**  <mark style="color:blue;">`string`</mark>  <mark style="color:orange;">`Seçimli`</mark>
>
> This field is for entering the type of container in which the goods/services are stored. Possible values ​​are listed under Container Types in the code lists section.

{% 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>
