---
title: "Purchase"
description: "Leverantörer och inköpsordrar. Varje app är en modul i en gemensam datamodell."
canonical: "https://obop.dev/sv/apps/purchase/"
lang: "sv"
---

# Purchase

## Vad den är till för

Keep vendors and the purchase orders you send them, with order lines and a draft to received flow. Totals are entered, not summed from the lines.

## Vad paketet gör och inte gör

Vendors, purchase orders and order lines with a draft, sent, confirmed, received and cancelled flow. Order totals are entered, not summed from the lines.

## Modeller

### `purchase_vendor`

Purchasing terms for a contact you buy from

Läsgrupp: `purchase.user`. Skrivgrupp: `purchase.manager`.

| Fält | Typ | Dataklass | Personuppgift | Grupp | Agenter ser | Beskrivning |
|---|---|---|---|---|---|---|
| `party_id` | ref → party | `none` | nej | `purchase.user` | i klartext | The contact record of the vendor |
| `vendor_reference` | text | `none` | nej | `purchase.user` | i klartext | Your customer number at this vendor |
| `payment_terms_days` | number | `none` | nej | `purchase.user` | i klartext | Days allowed to pay an invoice |
| `lead_time_days` | number | `none` | nej | `purchase.user` | i klartext | Usual days between order and delivery |
| `iban` | text | `financial` | ja | `purchase.manager` | undanhållen | Bank account the vendor is paid into |
| `active` | bool | `none` | nej | `purchase.user` | i klartext | Whether you still buy from this vendor |

### `purchase_order`

A request to a vendor to supply goods or services

Läsgrupp: `purchase.user`. Skrivgrupp: `purchase.user`.

| Fält | Typ | Dataklass | Personuppgift | Grupp | Agenter ser | Beskrivning |
|---|---|---|---|---|---|---|
| `reference` | text | `none` | nej | `purchase.user` | i klartext | Order number printed on the document |
| `vendor_id` | ref → purchase_vendor | `none` | nej | `purchase.user` | i klartext | The vendor ordered from |
| `ordered_on` | date | `none` | nej | `purchase.user` | i klartext | Date the order was placed (YYYY-MM-DD) |
| `expected_on` | date | `none` | nej | `purchase.user` | i klartext | Date the goods are expected (YYYY-MM-DD) |
| `currency` | text | `none` | nej | `purchase.user` | i klartext | ISO 4217 currency code, for example EUR |
| `total` | money | `none` | nej | `purchase.user` | i klartext | Order total as agreed with the vendor (minor currency units, e.g. cents) |
| `notes` | longtext | `none` | nej | `purchase.user` | i klartext | Delivery instructions and remarks for the vendor |
| `state` | select (draft, sent, confirmed, received, cancelled) | `none` | nej | `purchase.user` | i klartext | Order status: draft, sent, confirmed, received, cancelled |

### `purchase_order_line`

One product or service on a purchase order

Läsgrupp: `purchase.user`. Skrivgrupp: `purchase.user`.

| Fält | Typ | Dataklass | Personuppgift | Grupp | Agenter ser | Beskrivning |
|---|---|---|---|---|---|---|
| `order_id` | ref → purchase_order | `none` | nej | `purchase.user` | i klartext | The order the line belongs to |
| `product_id` | ref → product | `none` | nej | `purchase.user` | i klartext | The product ordered |
| `description` | text | `none` | nej | `purchase.user` | i klartext | Wording for the vendor if different from the product name |
| `quantity` | number | `none` | nej | `purchase.user` | i klartext | Units ordered |
| `unit_price` | money | `none` | nej | `purchase.user` | i klartext | Agreed price per unit (minor currency units, e.g. cents) |
| `received_quantity` | number | `none` | nej | `purchase.user` | i klartext | Units received so far |

## Arbetsflöden

### `purchase_order`

| Åtgärd | Flyttar | Vem får köra den | Godkännande |
|---|---|---|---|
| `purchase_order.send` | state: draft → sent | `purchase.user` | nej |
| `purchase_order.confirm` | state: sent → confirmed | `purchase.manager` | ja |
| `purchase_order.receive` | state: confirmed → received | `purchase.user` | nej |
| `purchase_order.cancel` | state: draft → cancelled | `purchase.user` | nej |

## Behörighetsgrupper

Grupper som den här appen använder:

- `purchase.manager`
- `purchase.user`

## Steg som kräver godkännande

Steg som en agent bara kan föreslå:

- `purchase_order.confirm`

## Vad agenter kan och inte kan göra

En agent kan läsa, söka, skapa och uppdatera poster i den här appen, och köra de åtgärder som inte kräver godkännande, inom behörighetsgrupperna för sin token.

Den kan bara föreslå de här stegen, och en person måste godkänna dem: `purchase_order.confirm`, `purchase_vendor.delete`, `purchase_order.delete`, `purchase_order_line.delete`.

De här fälten undanhålls helt från agenter: `purchase_vendor.iban`.

## Beroenden

- `base`
- `product`

## Installera

Installera den från appen Customize (Marknadsplats), eller från kommandoraden:

```bash
obop modules install-from purchase
```

Kräver en databas och administratörsbehörighet.

## Bygg din egen

[Modulguiden visar hur appar som den här skrivs](/sv/docs/reference/module-manifest/)
