---
title: "Sales"
description: "Devis et commandes. Chaque application est un module sur un même modèle de données."
canonical: "https://obop-platform.sliplane.app/fr/apps/sales/"
lang: "fr"
---

# Sales

## À quoi elle sert

Write quotations for customers and turn them into confirmed orders. Orders point at a contact, carry a total and a currency, and confirmed orders are what Invoicing bills.

## Ce que fait et ne fait pas le paquet

Quotations and confirmed orders for customers.

## Modèles

### `sale_order`

A quotation or confirmed order for a customer

Groupe de lecture: `sales.user`. Groupe d'écriture: `sales.user`.

| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
| `party_id` | ref → party | `none` | non | `sales.user` | en clair | Customer party id |
| `state` | select (draft, confirmed, cancelled) | `none` | non | `sales.user` | en clair | Lifecycle: draft, confirmed or cancelled |
| `total_minor` | money | `none` | non | `sales.user` | en clair | Order total in minor units |
| `currency` | text | `none` | non | `sales.user` | en clair | ISO 4217 currency code |

## Flux de travail

### `sale_order`

| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
| `sale_order.confirm` | state: draft → confirmed | `sales.user` | non |
| `sale_order.cancel` | state: * → cancelled | `sales.user` | non |
| `sale_order.reset_to_draft` | state: cancelled → draft | `sales.user` | non |

## Groupes de permissions

Groupes utilisés par cette application :

- `sales.user`

## Étapes d'approbation

Aucune étape de cette application ne requiert d'approbation, hormis la suppression d'enregistrements.

## Ce que les agents peuvent et ne peuvent pas faire

Un agent peut lire, rechercher, créer et modifier les enregistrements de cette application, et exécuter les actions qui ne requièrent pas d'approbation, dans les limites des groupes de permissions de son jeton.

Il ne peut que proposer ces étapes, qu'une personne doit approuver : `sale_order.delete`.

## Dépendances

- `base`

## Installation

Intégrée. Elle est disponible dans chaque instance et ne peut pas être supprimée.

## Créer la vôtre

[Le guide des modules montre comment sont écrites les applications de ce type](/fr/docs/reference/module-manifest/)
