Gastos
Los gastos permiten almacenar documentos de compras y costes asociados con tu actividad.
Crear un gasto
Este endpoint permite la creación de un nuevo gasto en tu aplicación.
Petición HTTP
POST/expenses
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
name | Cadena / Obligatorio | Nombre o número de factura de gasto |
date | Fecha / Obligatorio / yyyy-mm-dd | Fecha del gasto en formato yyyy-mm-dd |
contact | Entero / Opcional / Obligatorio si no se envía `own_expense´ | Identificador de contacto. Solo debe enviarse `contact´ o `own_expense´ |
own_expense | Boolean / Opcional / Obligatorio si no se envía `contact´ / true | Establecer como gasto propio. Solo debe enviarse `contact´ o `own_expense´ |
currency | Cadena / Opcional | Moneda. Si no se envía se usará la moneda configurada por defecto en los documentos. Monedas disponibles en data.options.currencies del endpoint: /info. |
expense_type | Entero / Opcional | Identificador de tipo de gasto |
lines | Array / Obligatorio | Array de objetos línea |
Línea
Nombre | Tipo | Descripción |
---|---|---|
description | Cadena / Obligatoria / Máximo 500 caracteres | Descripción de línea |
price | Número hasta 2 decimales / Obligatorio | Precio / Puede contener un signo negativo como "-100.05" |
taxes | Array / Opcional | Array de identificadores de impuestos que se aplicarán al gasto |
Datos petición
{
"name": "Expense name nº1234",
"date": "2020-09-01",
"contact": 12,
"currency": "€",
"expense_type": 6,
"lines" : [
{"description": "Line 1 description", "price":"0.23"},
{"description": "Line 2 description", "price":"1.42", "taxes":[9,2]}
]
}
201Respuesta
{
"data": {
"id": 75,
"name": "Expense name nº1234",
"date": "2020-09-01",
"own_expense": false,
"currency": "€",
"expense_type": {
"id": 6,
"name": "Consultancy"
},
"contact": {
"id": 12,
"name": "Acme"
},
"lines": [
{
"description": "Line 1 description",
"price": 0.23,
"total_before_taxes": 0.23,
"taxes": [],
"total_taxes": 0,
"total_with_taxes": 0.23
},
{
"description": "Line 2 description",
"price": 1.42,
"total_before_taxes": 1.42,
"taxes": [
{
"id": 9,
"version": "f5449e5f-d45b-49ae-ab71-29b01bf8344b",
"name": "IRPF-2022",
"percentage": -16,
"total": -0.23
},
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 0.3
}
],
"total_taxes": 0.07,
"total_with_taxes": 1.49
}
],
"file": null,
"total": 1.65,
"total_taxes": 0.07,
"total_with_taxes": 1.72,
"created_at": "2022-09-30T15:30:15+00:00",
"updated_at": "2022-09-30T15:30:15+00:00"
}
}
Listar gastos
Este endpoint permite la consulta de los gastos de tu aplicación.
Petición HTTP
GET/expenses
Parámetros GET
Nombre | Tipo | Descripción |
---|---|---|
page | Entero / Opcional / Min:1 | Página |
per_page | Entero / Opcional / Min:1 Max:100 | Elementos por página |
expense_type_id | Entero / Opcional | Filtrar por identificador de tipo de gasto |
contact_id | Entero / Opcional | Filtrar por identificador contacto |
from | Fecha / Opcional / yyyy-mm-dd | Filtrar con fecha desde con formato yyyy-mm-dd, ejemplo: 2022-09-21 |
to | Fecha / Opcional / yyyy-mm-dd | Filtrar con fecha hasta con formato yyyy-mm-dd, ejemplo: 2022-09-21 |
only_without_files | Boolean / Opcional / true | Mostrar solo los elementos sin archivo asociado |
own_expense | Boolean / Opcional / true, false | Mostrar gastos propios, si se envía con valor `true´, `contact_id´ será ignorado |
search | Cadena / Opcional / Min:3 | Buscar por cadena de al menos 3 caracteres |
order | Cadena / Opcional | Ordenar por un campo de forma ascendente o descendente, descendente por defecto, en formato "{field},desc" o "{field},asc" donde {field} puede ser: id, name, date, quantity, total |
200 Respuesta
Si existen impuestos modificados, y se aplican los mismos en el gasto, es posible que la respuesta incluya impuestos con el mismo `id´ y diferente versión.
{
"data": [
{
"id": 25,
"name": "Payroll 08",
"date": "2022-08-01",
"own_expense": true,
"currency": "A$",
"expense_type": null,
"contact": null,
"lines": [
{
"description": "Payroll 01",
"price": 2000,
"total_before_taxes": 2000,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 420
}
],
"total_taxes": 420,
"total_with_taxes": 2420
},
{
"description": "Payroll 02",
"price": 500,
"total_before_taxes": 500,
"taxes": [
{
"id": 9,
"version": "e5325e5f-d45b-49ae-ab71-29b01bf6433v",
"name": "IRPF-2021",
"percentage": -15,
"total": -75
},
{
"id": 9,
"version": "f5449e5f-d45b-49ae-ab71-29b01bf8344b",
"name": "IRPF-2022",
"percentage": -16,
"total": -80
}
],
"total_taxes": -155,
"total_with_taxes": 345
}
],
"file": null,
"total": 2500,
"total_taxes": 265,
"total_with_taxes": 2765,
"created_at": "2022-09-30T15:30:15+00:00",
"updated_at": "2022-09-30T15:30:15+00:00"
},
{
"id": 24,
"name": "Invoice 2022-08",
"date": "2022-08-15",
"own_expense": false,
"currency": "€",
"expense_type": {
"id": 6,
"name": "Consultancy"
},
"contact": {
"id": 12,
"name": "Acme"
},
"lines": [
{
"description": "Consultancy",
"price": 1000,
"total_before_taxes": 1000,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 210
}
],
"total_taxes": 210,
"total_with_taxes": 1210
},
{
"description": "Consultancy Prime",
"price": 200,
"total_before_taxes": 200,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 42
},
{
"id": 9,
"version": "e5325e5f-d45b-49ae-ab71-29b01bf6433v",
"name": "IRPF-2021",
"percentage": -15,
"total": -30
}
],
"total_taxes": 12,
"total_with_taxes": 212
}
],
"file": {
"name": "Invoice 2022-08.pdf",
"content_type": "application\/pdf"
},
"total": 1200,
"total_taxes": 222,
"total_with_taxes": 1422,
"created_at": "2022-09-30T15:29:15+00:00",
"updated_at": "2022-09-30T15:29:15+00:00"
}
],
"links": {
"first": "http:\/\/api.orzame.com\/v1\/expenses?per_page=10&page=1",
"last": "http:\/\/api.orzame.com\/v1\/expenses?per_page=10&page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http:\/\/api.orzame.com\/v1\/expenses",
"per_page": 10,
"to": 2,
"total": 2
}
}
Obtener un gasto
Este endpoint permite la consulta de un gasto de tu aplicación.
Petición HTTP
GET/expenses/{id}
200 Respuesta
Si existen impuestos modificados, y se aplican los mismos en el gasto, es posible que la respuesta incluya impuestos con el mismo `id´ y diferente versión.
{
"data": {
"id": 24,
"name": "Invoice 2022-08",
"date": "2022-08-15",
"own_expense": false,
"currency": "€",
"expense_type": {
"id": 6,
"name": "Consultancy"
},
"contact": {
"id": 12,
"name": "Acme"
},
"lines": [
{
"description": "Consultancy",
"price": 1000,
"total_before_taxes": 1000,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 210
}
],
"total_taxes": 210,
"total_with_taxes": 1210
},
{
"description": "Consultancy Prime",
"price": 200,
"total_before_taxes": 200,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 42
},
{
"id": 9,
"version": "e5325e5f-d45b-49ae-ab71-29b01bf6433v",
"name": "IRPF-2021",
"percentage": -15,
"total": -30
}
],
"total_taxes": 12,
"total_with_taxes": 212
}
],
"file": {
"name": "Invoice 2022-08.pdf",
"content_type": "application\/pdf"
},
"total": 1200,
"total_taxes": 222,
"total_with_taxes": 1422,
"created_at": "2022-09-30T15:30:15+00:00",
"updated_at": "2022-09-30T15:30:15+00:00"
}
}
Actualizar un gasto
Este endpoint permite la actualización de un gasto de tu aplicación.
Petición HTTP
PATCH/expenses/{id}
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
name | Cadena / Opcional | Nombre o número de factura de gasto |
date | Fecha / Opcional / yyyy-mm-dd | Fecha del gasto en formato yyyy-mm-dd |
contact | Entero / Opcional | Identificador de contacto. Solo debe enviarse `contact´ o `own_expense´ |
own_expense | Boolean / Opcional / true | Establecer como gasto propio. Solo debe enviarse `contact´ o `own_expense´ |
currency | Cadena / Opcional | Monedas disponibles en data.options.currencies del endpoint: /info. |
expense_type | Entero / Opcional | Identificador de tipo de gasto. Puede eliminarse el valor actual enviando el parámetro con valor `null´ |
lines | Array / Opcional | Array de objetos línea. Puede eliminarse todas las líneas enviando el parámetro como un array vacío `[]´ |
Línea
Nombre | Tipo | Descripción |
---|---|---|
description | Cadena / Obligatoria / Máximo 500 caracteres | Descripción de línea |
price | Número hasta 2 decimales / Obligatorio | Precio / Puede contener un signo negativo como "-100.05" |
taxes | Array / Opcional | Array de identificadores de impuestos que se aplicarán al gasto |
Datos petición
{
"name": "New invoice name",
"date": "2022-08-20"
}
200 Respuesta
{
"data": {
"id": 24,
"name": "New invoice name",
"date": "2022-08-20",
"own_expense": false,
"currency": "€",
"expense_type": {
"id": 6,
"name": "Consultancy"
},
"contact": {
"id": 12,
"name": "Acme"
},
"lines": [
{
"description": "Consultancy",
"price": 1000,
"total_before_taxes": 1000,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 210
}
],
"total_taxes": 210,
"total_with_taxes": 1210
},
{
"description": "Consultancy Prime",
"price": 200,
"total_before_taxes": 200,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 42
},
{
"id": 9,
"version": "e5325e5f-d45b-49ae-ab71-29b01bf6433v",
"name": "IRPF-2021",
"percentage": -15,
"total": -30
}
],
"total_taxes": 12,
"total_with_taxes": 212
}
],
"file": {
"name": "Invoice 2022-08.pdf",
"content_type": "application\/pdf"
},
"total": 1200,
"total_taxes": 222,
"total_with_taxes": 1422,
"created_at": "2022-09-30T15:30:15+00:00",
"updated_at": "2022-09-30T16:40:25+00:00"
}
}
Duplicar un gasto
Este endpoint permite la duplicación de un gasto de tu aplicación.
Se duplicará el registro con los datos guardados, sin archivo y con hoy como fecha.
Petición HTTP
POST/expenses/{id}
201Respuesta
{
"data": {
"id": 40,
"name": "Invoice 2022-08",
"date": "2022-09-01",
"own_expense": false,
"currency": "€",
"expense_type": {
"id": 6,
"name": "Consultancy"
},
"contact": {
"id": 12,
"name": "Acme"
},
"lines": [
{
"description": "Consultancy",
"price": 1000,
"total_before_taxes": 1000,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 210
}
],
"total_taxes": 210,
"total_with_taxes": 1210
},
{
"description": "Consultancy Prime",
"price": 200,
"total_before_taxes": 200,
"taxes": [
{
"id": 2,
"version": "a3449e5f-d45b-49ae-ab71-29b01bf8694c",
"name": "Iva",
"percentage": 21,
"total": 42
},
{
"id": 9,
"version": "e5325e5f-d45b-49ae-ab71-29b01bf6433v",
"name": "IRPF-2021",
"percentage": -15,
"total": -30
}
],
"total_taxes": 12,
"total_with_taxes": 212
}
],
"file": null,
"total": 1200,
"total_taxes": 222,
"total_with_taxes": 1422
}
}
Eliminar un gasto
Este endpoint permite la eliminación de un gasto de tu aplicación.
Petición HTTP
DELETE/expenses/{id}
204 Respuesta
Respuesta sin cuerpo.