# ProducerLines

> This is the field where all details of receipt items (Goods / Services) will be entered.

```csharp
public class EProducerLineDto
{
    public string Name { get; set; }
    public decimal Quantity { get; set; }
    public string UnitType { get; set; }
    public decimal Price { get; set; }
    public List<TaxDto> Taxes { get; set; }
    public decimal GVWithholdingPercent { get; set; }
    public decimal GVWithholdingAmount { get; set; }
}
```

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

### Name

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

> This is the field where the name of the product will be entered.

### Quantity

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

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

### UnitType

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

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

### Price

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

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

### Taxes

<mark style="color:blue;">`List`</mark>  <mark style="color:orange;">`Optional`</mark>

> This is the field where other taxes to be added to the product will be 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;">`Compulsory`</mark>

> **Total:** This is the field where the tax total will be entered.  <mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`It Varies Depending on the Tax.`</mark>

> **Percent:** This is the field where the tax rate will be entered. <mark style="color:blue;">`decimal`</mark>  <mark style="color:orange;">`It Varies Depending on the Tax.`</mark>

{% hint style="info" %}
If it is included under Withholding Codes in the entered tax code lists section, the fields below must be filled.

**ReasonCode:** This is the field where the code will be entered.

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

> **Örn:** If the tax entered belongs to VAT Withholding;

```javascript
Producer.ProducerLines[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"
    }
]
```

### GVWithholdingPercent

<mark style="color:blue;">`decimal`</mark><mark style="color:orange;">`Optional`</mark>

> This is the field where the Income Tax Withholding percentage will be entered.

### GVWithholdingAmounth

<mark style="color:blue;">`decimal`</mark><mark style="color:orange;">`Optional`</mark>

> This is the field where the Income Tax Withholding amount will be entered.


---

# 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/en/nilvera-model/producer/producerlines.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.
