---
title: "Sales"
description: "Presupuestos y pedidos. Cada aplicación es un módulo sobre un único modelo de datos."
canonical: "https://obop.dev/es/apps/sales/"
lang: "es"
---

# Sales

## Para qué sirve

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.

## Qué hace y qué no hace el paquete

Quotations and confirmed orders for customers.

## Modelos

### `sale_order`

A quotation or confirmed order for a customer

Grupo de lectura: `sales.user`. Grupo de escritura: `sales.user`.

| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
| `party_id` | ref → party | `none` | no | `sales.user` | en claro | Customer party id |
| `state` | select (draft, confirmed, cancelled) | `none` | no | `sales.user` | en claro | Lifecycle: draft, confirmed or cancelled |
| `total_minor` | money | `none` | no | `sales.user` | en claro | Order total in minor units |
| `currency` | text | `none` | no | `sales.user` | en claro | ISO 4217 currency code |

## Flujos de trabajo

### `sale_order`

| Acción | Mueve | Quién puede ejecutarla | Aprobación |
|---|---|---|---|
| `sale_order.confirm` | state: draft → confirmed | `sales.user` | no |
| `sale_order.cancel` | state: * → cancelled | `sales.user` | no |
| `sale_order.reset_to_draft` | state: cancelled → draft | `sales.user` | no |

## Grupos de permisos

Grupos que usa esta aplicación:

- `sales.user`

## Pasos con aprobación

Ningún paso de esta aplicación requiere aprobación, salvo eliminar registros.

## Qué pueden y qué no pueden hacer los agentes

Un agente puede leer, buscar, crear y actualizar registros de esta aplicación, y ejecutar las acciones que no requieren aprobación, dentro de los grupos de permisos de su token.

Solo puede proponer estos pasos, y una persona debe aprobarlos: `sale_order.delete`.

## Dependencias

- `base`

## Instalación

Incluida. Está disponible en todas las instancias y no se puede quitar.

## Crea la tuya

[La guía de módulos explica cómo se escriben aplicaciones como esta](/es/docs/reference/module-manifest/)
