---
title: "Get a sales document model"
method: GET
path: "/apps/{appId}/salesdocumentmodels/{id}"
tags: ["hidden"]
---

# Get a sales document model

`GET /apps/{appId}/salesdocumentmodels/{id}`

## Path parameters

- `appId` integer, required
- `id` integer, required

## Query parameters

- `with_trashed` boolean

## Response `200`

Success

- SalesDocumentModel
  - `id` integer
  - `name` string
  - `title` string
  - `json` SalesLine[]
    - `id` integer
    - `document` union
      - Invoice — unresolved $ref
      - Quote — unresolved $ref
    - `product` Product
      - `id` integer
      - `name` string
      - `amount_accurately` integer — Price without taxes in milli-cents
      - `vat_percent` integer — VAT rate in cents
      - `currency` string
      - `image` union
        - string, binary
        - string, uri
      - `lifetime` integer — Product life time in seconds
      - `description` string
      - `unity` string — Unity, hours, days, meters, liters..
      - `intangible` boolean — Is a service or a product ?
      - `quantity_name` string — Name of the quantity: days, liters, m2, m3...
      - `reference` string
      - `accounting_number` string
      - `tags` string[]
      - `category` ProductCategory
        - `id` integer
        - `name` string
        - `image` union
          - string, binary
          - string, uri
        - `parent` ProductCategory — recursive
        - `products` Product — recursive
      - `metadata` unknown[], nullable
        - unknown
    - `stock` ProductStock
      - `id` integer
      - `quantity_in` integer
      - `quantity_out` integer
      - `bar_code` integer
      - `location` integer
      - `entered_at` integer
      - `expired_at` integer
      - `cost_amount` integer
      - `initial_quantity` integer
      - `use_duration` integer
      - `purchase` Purchase
        - `id` integer
        - `status` 'new' | 'completed' | 'paid'
        - `title` string — Name visible on the accounting entries of the purchase
        - `supplier_name` string
        - `amount` integer — Amount without taxes in cents
        - `amount_tax` integer — Amount of taxes in cents
        - `amount_reverse_tax` integer — Reverse charge amount - Intra-community VAT (amount_tax must be 0)
        - `amount_net_foreign_currency` integer — Amount without taxes in cents
        - `foreign_currency` string — Amount of taxes in cents
        - `vat_detail` object — VAT breakdown
        - `comment` string — free field
        - `picture` string — Purchase picture
        - `tags` string[]
        - `vat_repayment` 'payment' | 'billing' — In France, depending on the type of purchase (product or service), VAT is not payable at the same time. VAT on products is due on the date of the invoice, while VAT on services is due on the date of payment thereof
        - `md5` string — Md5 hash of the initial file sent
        - `billed_at` string, date-time — Date of invoice
        - `completed_at` string, date-time — Date on which the account, supplier, amount and billed_at fields were completed
        - `accounted_at` string, date-time — Date on which the accounting entries were generated
        - `paid_at` string, date-time — Date on which the invoice was fully paid
        - `payment_deadline_at` string, date-time — Payment deadline
        - `expected_payment_deadline_at` string, date-time — Payment deadline
        - `payment_account_number` string — Payment Account number
        - `payment_routing_number` string — Payment Routing number
        - `payment_swift` string — Payment SWIFT
        - `payment_iban` string — Payment IBAN
        - `is_late` boolean — The payment deadline has passed and full payment has not been received
        - `will_be_late_at` string, date-time — Date the payment will be late. Is `false` if payment has been made
        - `account` Account
          - `id` integer
          - `journalcode` string
          - `technical_name` string
          - `editable` boolean
          - `name` string
          - `description` string
          - `keywords` string — keywords comma separated
          - `accounting_number` string
          - `need_invoice` boolean
          - `need_charge` boolean
          - `need_employee` boolean
          - `is_associate` boolean
          - `is_cashflow` boolean
          - `is_sales` boolean
          - `is_purchase` boolean
          - `is_various` boolean
        - `supplier` ContactOrganization
          - `id` integer
          - `name` string — Company name visible on the app
          - `billing_name` string — Company name for billing
          - `establishments` EstablishmentIdentity[] — List of contact establishments. Some establishments come from the public database (INSEE), they cannot be edited and have no ID
            - `id` integer, nullable — The identifier of the establishment can be absent if the data comes from the INSEE database. In this case, it is not editable
            - `name` string — Establishment name
            - `nic` string, nullable — Establishment number (french NIC)
            - `place` object
              - …
            - `emails` string[]
            - `phones` string[]
          - `logo` string, uri
          - `legal_form` string
          - `country_iso2` string, ISO 3166-1 alpha-2
          - `founding_date` string, date
          - `founding_location` string
          - `dissolution_date` string, date
          - `vat_system` string
          - `closeaccounting_period` string
          - `national_id` string — Unique National Id, format by country. **In France : [0-9]{9} with last number as security key.**
          - `tax_id` string — International Tax Id
          - `vat_id` string — European VAT Id. **In France : FR [0-9]{2} [0-9]{9}**
          - `code_naf` string — French NAF Code
          - `number_of_employees` string
          - `slogan` string — Free variable
          - `rcs` string — French. Registre du Commerce et des Sociétés
          - `greffe` string — French. Tribunal de commerce
          - `capital` integer — Capital in cents
        - `balance` Balance
          - `due` integer — Initial balance total due
          - `paid` integer
          - `remaining` integer
          - `meaning` 'completed' | 'remaining' | 'overpaid'
          - `completed` boolean
      - `product` Product
        - `id` integer
        - `name` string
        - `amount_accurately` integer — Price without taxes in milli-cents
        - `vat_percent` integer — VAT rate in cents
        - `currency` string
        - `image` union
          - string, binary
          - string, uri
        - `lifetime` integer — Product life time in seconds
        - `description` string
        - `unity` string — Unity, hours, days, meters, liters..
        - `intangible` boolean — Is a service or a product ?
        - `quantity_name` string — Name of the quantity: days, liters, m2, m3...
        - `reference` string
        - `accounting_number` string
        - `tags` string[]
        - `category` ProductCategory
          - `id` integer
          - `name` string
          - `image` union
            - string, binary
            - string, uri
          - `parent` ProductCategory — recursive
          - `products` Product — recursive
        - `metadata` unknown[], nullable
          - unknown
      - `product_stocks_movements` ProductStocksMovement[]
        - `id` integer
        - `type` 'buy' | 'sell' | 'back' | 'temporaryexit' | 'destruct'
        - `description` string
        - `use_duration` integer — Usage duration in seconds
        - `future_return_date` string, date-time
        - `quantity` integer
        - `moved_at` string, date-time
        - `invoice` Invoice — unresolved $ref
        - `product_stock` ProductStock — recursive
      - `sales_lines` SalesLine[]
    - `detail` string — Description of the product or service
    - `action` 'sell' | 'rent'
    - `quantity` number, double — Quantity of product or service
    - `amount_accurately` integer — Price without taxes in cents + 3 decimales, example : 9899000 = 98,99€ || 1 = 0,00001€
    - `amount_with_taxes` boolean — Used when there is a difference of 1 cent when starting from the amount with taxes
    - `amount` integer — Price without taxes in cents
    - `vat_percent` integer — VAT rate in cents
    - `account` object
    - `discount` object
      - `amount` integer — Use discount value for fix discount
      - `percent` integer — Use discount percent for variable discount
    - `unity` string — Unity, hours, days, meters, liters..
    - `total_quantity` string — Information about total quantity to sell, only for display
    - `style` object
      - `section_id` integer — Section is an Order with a position like SectionId
      - `type` 'section' | 'description' | 'product'
      - `position` integer
    - `totals` object
      - `subtotal` integer
      - `taxes` integer
      - `due` integer
    - `metadata` unknown[], nullable
      - unknown

## Other responses

- `400` — Bad request
- `404` — Not found

---

[API](https://skmtc.net/sinao/apis/sinao-api.md) · [All operations](https://skmtc.net/sinao/apis/sinao-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sinao/sinao-api/revisions/436b47b78bf4/schema)
