---
title: "Get a purchase"
method: GET
path: "/apps/{appId}/purchases/{id}"
tags: ["Purchases"]
---

# Get a purchase

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

Get an Purchase/Purchase object by Id

## Path parameters

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

## Query parameters

- `with_trashed` boolean

## Response `200`

Success

- 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
        - `id` integer
        - `latitude` integer
        - `longitude` integer
        - `street_number` string
        - `route` string
        - `route2` string
        - `locality` string
        - `sublocality` string
        - `administrative_area_level3` string
        - `administrative_area_level2` string
        - `administrative_area_level1` string
        - `country` string
        - `countryiso2` string
        - `postal_code` string
        - `formatted_address` string — When obtaining data, the formatted address is automatically composed from the other properties of the object. When updating data, the formatted address can be used to automatically hydrate the other properties from Google Maps
      - `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

## 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)
