# DocumentPosition


## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**number** | **str** |  | [optional] [default to 'null']
**description** | **str** |  | [optional] [default to 'null']
**document_note** | **str** | This field can be used in the document text areas with the liquid placeholder {{document.item_notes}}. Every note is only displayed once for every kind of product. This is useful if you want to add something like an instruction. | [optional] 
**quantity** | **float** |  | [optional] [default to 1.0]
**quantity_str** | **str** | Use quantity_str if you want to set a quantity like: 1:30 h or 3x5 m. quantity_str overwrites quantity. | [optional] 
**unit** | **str** |  | [optional] [default to 'null']
**type** | **str** |  | [optional] [default to 'POSITION']
**position** | **int** | Automatic by default (first item: 1, second item: 2, ...) | [optional] 
**single_price_net** | **float** | Price in cents, despite being of type float (e.g. 150 &#x3D; 1.50€, but also 150.0 &#x3D; 1.50€) | [optional] 
**single_price_gross** | **float** | Price in cents, despite being of type float (e.g. 150 &#x3D; 1.50€, but also 150.0 &#x3D; 1.50€) | [optional] 
**vat_percent** | **float** |  | [optional] [default to 0.0]
**discount** | **float** |  | [optional] 
**discount_type** | **str** |  | [optional] [default to null]
**position_id** | **int** | If set, values are copied from the referenced position | [optional] 
**total_price_net** | **float** | Price in cents, despite being of type float (e.g. 150 &#x3D; 1.50€, but also 150.0 &#x3D; 1.50€) | [optional] [readonly] 
**total_price_gross** | **float** | Price in cents, despite being of type float (e.g. 150 &#x3D; 1.50€, but also 150.0 &#x3D; 1.50€) | [optional] [readonly] 
**total_vat** | **float** |  | [optional] [readonly] 
**serial_number_id** | **str** |  | [optional] [readonly] 
**serial_number** | **str** |  | [optional] [readonly] 
**booking_account** | **str** |  | [optional] [default to 'null']
**export_cost_1** | **str** |  | [optional] [default to 'null']
**export_cost_2** | **str** |  | [optional] [default to 'null']
**cost_price_net** | **float** | Price in cents, despite being of type float (e.g. 150 &#x3D; 1.50€, but also 150.0 &#x3D; 1.50€) | [optional] 
**cost_price_total** | **float** | Price in cents, despite being of type float (e.g. 150 &#x3D; 1.50€, but also 150.0 &#x3D; 1.50€) | [optional] [readonly] 
**cost_price_charge** | **float** |  | [optional] [readonly] 
**cost_price_charge_type** | **str** |  | [optional] [readonly] 
**item_type** | **str** |  | [optional] [default to 'UNDEFINED']
**id** | **int** |  | [optional] [readonly] 

## Example

```python
from easybill_generated_sync.models.document_position import DocumentPosition

# TODO update the JSON string below
json = "{}"
# create an instance of DocumentPosition from a JSON string
document_position_instance = DocumentPosition.from_json(json)
# print the JSON string representation of the object
print(DocumentPosition.to_json())

# convert the object into a dict
document_position_dict = document_position_instance.to_dict()
# create an instance of DocumentPosition from a dict
document_position_from_dict = DocumentPosition.from_dict(document_position_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


