API documentation

v1.0

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

NombreTipoDescripción
nameCadena / ObligatorioNombre o número de factura de gasto
dateFecha / Obligatorio / yyyy-mm-ddFecha del gasto en formato yyyy-mm-dd
contactEntero / Opcional / Obligatorio si no se envía `own_expense´Identificador de contacto. Solo debe enviarse `contact´ o `own_expense´
own_expenseBoolean / Opcional / Obligatorio si no se envía `contact´ / trueEstablecer como gasto propio. Solo debe enviarse `contact´ o `own_expense´
currencyCadena / OpcionalMoneda. 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_typeEntero / OpcionalIdentificador de tipo de gasto
linesArray / ObligatorioArray de objetos línea

Línea

NombreTipoDescripción
descriptionCadena / Obligatoria / Máximo 500 caracteresDescripción de línea
priceNúmero hasta 2 decimales / ObligatorioPrecio / Puede contener un signo negativo como "-100.05"
taxesArray / OpcionalArray 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

NombreTipoDescripción
pageEntero / Opcional / Min:1Página
per_pageEntero / Opcional / Min:1 Max:100Elementos por página
expense_type_idEntero / OpcionalFiltrar por identificador de tipo de gasto
contact_idEntero / OpcionalFiltrar por identificador contacto
fromFecha / Opcional / yyyy-mm-ddFiltrar con fecha desde con formato yyyy-mm-dd, ejemplo: 2022-09-21
toFecha / Opcional / yyyy-mm-ddFiltrar con fecha hasta con formato yyyy-mm-dd, ejemplo: 2022-09-21
only_without_filesBoolean / Opcional / trueMostrar solo los elementos sin archivo asociado
own_expenseBoolean / Opcional / true, falseMostrar gastos propios, si se envía con valor `true´, `contact_id´ será ignorado
searchCadena / Opcional / Min:3Buscar por cadena de al menos 3 caracteres
orderCadena / OpcionalOrdenar 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

NombreTipoDescripción
nameCadena / OpcionalNombre o número de factura de gasto
dateFecha / Opcional / yyyy-mm-ddFecha del gasto en formato yyyy-mm-dd
contactEntero / OpcionalIdentificador de contacto. Solo debe enviarse `contact´ o `own_expense´
own_expenseBoolean / Opcional / trueEstablecer como gasto propio. Solo debe enviarse `contact´ o `own_expense´
currencyCadena / OpcionalMonedas disponibles en data.options.currencies del endpoint: /info.
expense_typeEntero / OpcionalIdentificador de tipo de gasto. Puede eliminarse el valor actual enviando el parámetro con valor `null´
linesArray / OpcionalArray de objetos línea. Puede eliminarse todas las líneas enviando el parámetro como un array vacío `[]´

Línea

NombreTipoDescripción
descriptionCadena / Obligatoria / Máximo 500 caracteresDescripción de línea
priceNúmero hasta 2 decimales / ObligatorioPrecio / Puede contener un signo negativo como "-100.05"
taxesArray / OpcionalArray 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.