Presupuestos y gastos
Presupuestos, transacciones, costes, impuestos y cuentas bancarias — controla el gasto y concilia automáticamente.
Presupuesto
Endpoints
| GET | /budgets | Recupera la colección de recursos Budget. |
| POST | /budgets | Crea un recurso Budget. |
| GET | /budgets/{id} | Recupera un recurso Budget. |
| PATCH | /budgets/{id} | Actualiza el recurso Budget. |
| DELETE | /budgets/{id} | Elimina el recurso Budget. |
| POST | /budgets/{id}/copy-plan-from-year | Crea un recurso Budget. |
| GET | /budgets/{id}/employee-pnl | Recupera un recurso Budget. |
| PUT | /budgets/{id}/plan | Reemplaza el recurso Budget. |
| GET | /budgets/{id}/pnl-by-tags | Recupera un recurso Budget. |
| GET | /budgets/{id}/pnl-by-tags-drilldown | Recupera un recurso Budget. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| name* | string | |
| type* | string | |
| granularity | string | |
| budgetGroup | string,null (iri-reference) | |
| attributeSet | string,null (iri-reference) | |
| dateFrom | string,null (date-time) | |
| dateTo | string,null (date-time) | |
| displayPricePerSqm | boolean | Opt-in flag for the P&L-by-tags preview's price-per-sqm column. When true, the costsByProject section is expected to surface a surface-aware price view in addition to absolute amounts. The actual surface lookup (Project -> assigned Property/Asset -> surface AttributeValue) lands after the post-Horizon-2026-04-30 co-design pass; this flag is the persistent toggle so the option exists today. |
| outgoingTags | array | Tag-mode filter (outgoing/income side). OR semantics — an invoice matches if it carries at least one of these tags. Replaces the legacy single $outgoingTag ManyToOne (kept as a virtual property for backwards-compat during the FE rollout window). |
| incomingTags | array | |
| amountStrategy* | string | |
| actualMode | string | |
| planningMode | stringnull | |
| viewMode | stringnull | Explicit planning-vs-observation intent, decoupled from planningMode (the scope). Null on legacy budgets: BudgetNormalizer::resolveViewMode() falls back to inferring the mode from plan artifacts when this is unset, so existing budgets are unchanged. Write-only groups — the read value is emitted by BudgetNormalizer, which honours this field first. |
| planSource | string | |
| config | array | |
| includePeopleCosts | booleannull | |
| includeEmployeeCosts | booleannull | |
| includePeopleIncome | booleannull | |
| outgoingTag | string,null (iri-reference) | Legacy single-tag alias — read returns the first element of $outgoingTags (or null). Write REPLACES the collection with a single-element array (or empty when null). Exists only to keep the still-deployed old frontend working through PR 3's rollout. |
| incomingTag | string,null (iri-reference) |
Transacción de Presupuesto
Endpoints
| GET | /budget-transactions | Recupera la colección de recursos BudgetTransaction. |
| POST | /budget-transactions | Crea un recurso BudgetTransaction. |
| GET | /budget-transactions/{id} | Recupera un recurso BudgetTransaction. |
| PATCH | /budget-transactions/{id} | Actualiza el recurso BudgetTransaction. |
| DELETE | /budget-transactions/{id} | Elimina el recurso BudgetTransaction. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| budget* | string (iri-reference) | |
| transaction* | string (iri-reference) | |
| employee | string,null (iri-reference) | |
| amount | numbernull |
Grupo de Presupuesto
Endpoints
| GET | /budget-groups | Recupera la colección de recursos BudgetGroup. |
| POST | /budget-groups | Crea un recurso BudgetGroup. |
| GET | /budget-groups/{id} | Recupera un recurso BudgetGroup. |
| PATCH | /budget-groups/{id} | Actualiza el recurso BudgetGroup. |
| DELETE | /budget-groups/{id} | Elimina el recurso BudgetGroup. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| name* | string |
Costo
Endpoints
| GET | /contractors | Recupera la colección de recursos Cost. |
| POST | /contractors | Crea un recurso Cost. |
| GET | /contractors/{id} | Recupera un recurso Cost. |
| PATCH | /contractors/{id} | Actualiza el recurso Cost. |
| DELETE | /contractors/{id} | Elimina el recurso Cost. |
| POST | /contractors/nip-validation | Crea un recurso Cost. |
| GET | /contractors/search | Recupera la colección de recursos Cost. |
| GET | /costs | Recupera la colección de recursos Cost. |
| POST | /costs | Crea un recurso Cost. |
| GET | /costs/{id} | Recupera un recurso Cost. |
| PATCH | /costs/{id} | Actualiza el recurso Cost. |
| GET | /costs/{id}/documents | Recupera un recurso Cost. |
| GET | /costs/payment-due/{date} | Get by path parameters |
| GET | /suppliers | Recupera la colección de recursos Cost. |
| POST | /suppliers | Crea un recurso Cost. |
| GET | /suppliers/{id} | Recupera un recurso Cost. |
| PATCH | /suppliers/{id} | Actualiza el recurso Cost. |
| DELETE | /suppliers/{id} | Elimina el recurso Cost. |
| POST | /suppliers/nip-validation | Crea un recurso Cost. |
| GET | /suppliers/search | Recupera la colección de recursos Cost. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| costGroup* | string (iri-reference) | |
| allowDuplicate | booleannull | Not persisted (no ORM\Column): an escape hatch for POST /contractors only, mirroring Client::$allowDuplicate. When true, ContractorCreateProcessor:: refuseIfDuplicate() skips the duplicate-party guard so a genuinely distinct same-name contractor can be created on purpose. |
| ownerEmployee | string,null (iri-reference) | |
| tinType* | string | |
| tin | stringnull | |
| tinCountry | string,null (iri-reference) | |
| cyclic | boolean | |
| paymentDeadline | integernull | |
| name* | string | |
| description | stringnull | |
| matchRegex | stringnull | |
| requireAttachment | booleannull | |
| taxAmount | stringnull | |
| notIncludeInChart | boolean | |
| eInvoicingReferenceNumber | stringnull | |
| eInvoicingSourceXmlUrl | stringnull | |
| eInvoicingVisualUrl | stringnull | |
| contractorGroup | string,null (iri-reference) |
Transacción
Endpoints
| GET | /transactions | Recupera la colección de recursos Transaction. |
| POST | /transactions | Crea un recurso Transaction. |
| GET | /transactions/{id} | Recupera un recurso Transaction. |
| PATCH | /transactions/{id} | Actualiza el recurso Transaction. |
| DELETE | /transactions/{id} | Elimina el recurso Transaction. |
| GET | /transactions/{id}/suggestions | Recupera la colección de recursos Transaction. |
| POST | /transactions/{id}/suggestions/{suggestionId}/apply | Crea un recurso Transaction. |
| POST | /transactions/import | Crea un recurso Transaction. |
| GET | /transactions/search | Recupera la colección de recursos Transaction. |
| GET | /transactions/unassigned | Recupera la colección de recursos Transaction. |
| GET | /transactions/with-problems | Recupera la colección de recursos Transaction. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | string | |
| bankAccount | string (iri-reference) | |
| employeeOwner | string,null (iri-reference) | |
| hash | string | |
| source | stringnull | Where this row came from. Written at creation by whichever importer or creator made it — NEVER inferred from the row's shape. |
| type | string | |
| cost | string,null (iri-reference) | |
| counterparty | string,null (iri-reference) | |
| counterpartyRole | stringnull | |
| statementNumber | integer | |
| operationNumber | stringnull | |
| description | string | |
| currency | string | |
| amount | number | |
| endingBalance | number | |
| orderDate | string (date-time) | |
| execDate | string (date-time) | |
| relatedDate | string,null (date-time) | |
| ignored* | integer | |
| note | stringnull | |
| hasDetectedProblems | booleannull | |
| transactionAttachments | array | |
| additionalAttachments | array | Inverse of TransactionAttachment.additionalTransactions: invoice documents this transaction is linked to as an ADDITIONAL payment (one invoice paid across several payments). Lets the transaction recognize the link for completeness, same as a primary attachment. |
| invoiceTransactions | array | |
| properties | array | |
| budgetTransactions | array | |
| projectTransactions | array | |
| employeeTransactions | array | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| contractor | string,null (iri-reference) | |
| connectedMonth | string (date-time) | |
| relatedEmployee | string,null (iri-reference) |
Cuenta Bancaria
Endpoints
| GET | /bank-accounts | Recupera la colección de recursos BankAccount. |
| POST | /bank-accounts | Crea un recurso BankAccount. |
| GET | /bank-accounts/{id} | Recupera un recurso BankAccount. |
| PATCH | /bank-accounts/{id} | Actualiza el recurso BankAccount. |
| DELETE | /bank-accounts/{id} | Elimina el recurso BankAccount. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| bank | string,null (iri-reference) | |
| type* | string | |
| default | boolean | |
| hidden | boolean | |
| name* | string | |
| number | stringnull | |
| prefix | stringnull | |
| currency* | string,null (iri-reference) | |
| defaultImportFormat* | string |
Grupo de Impuestos
Endpoints
| GET | /tax-groups | Recupera la colección de recursos TaxGroup. |
| POST | /tax-groups | Crea un recurso TaxGroup. |
| GET | /tax-groups/{id} | Recupera un recurso TaxGroup. |
| PATCH | /tax-groups/{id} | Actualiza el recurso TaxGroup. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| name* | string | |
| isDefault | boolean |
Moneda
Endpoints
| GET | /currencies | Recupera la colección de recursos Currency. |
| GET | /currencies/{!sourceCurrency}/rates/{!targetCurrency}/{date} | Recupera la colección de recursos Currency. |
| GET | /currencies/{id} | Recupera un recurso Currency. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id* | string |
Presupuesto Inicial
Endpoints
| GET | /initial-budgets | Recupera la colección de recursos InitialBudget. |
| POST | /initial-budgets | Crea un recurso InitialBudget. |
| GET | /initial-budgets/{id} | Recupera un recurso InitialBudget. |
| PATCH | /initial-budgets/{id} | Actualiza el recurso InitialBudget. |
| DELETE | /initial-budgets/{id} | Elimina el recurso InitialBudget. |
| GET | /initial-budgets/{id}/contract-comparison | Recupera un recurso InitialBudget. |
| GET | /initial-budgets/{id}/contract-comparison/{tagDefinitionId}/breakdown | Recupera un recurso InitialBudget. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| project | string (iri-reference) | |
| name | string | |
| notes | stringnull |
Partida de Presupuesto Inicial
Endpoints
| GET | /initial-budget-items | Recupera la colección de recursos InitialBudgetItem. |
| POST | /initial-budget-items | Crea un recurso InitialBudgetItem. |
| GET | /initial-budget-items/{id} | Recupera un recurso InitialBudgetItem. |
| PATCH | /initial-budget-items/{id} | Actualiza el recurso InitialBudgetItem. |
| DELETE | /initial-budget-items/{id} | Elimina el recurso InitialBudgetItem. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | string | |
| name | string | |
| plannedAmount | stringnull | |
| tagDefinition | string,null (iri-reference) | |
| unit | stringnull | |
| quantity | stringnull | |
| sortOrder | integer |
Período de Presupuesto
Endpoints
| GET | /budget-periods | Recupera la colección de recursos BudgetPeriod. |
| POST | /budget-periods | Crea un recurso BudgetPeriod. |
| GET | /budget-periods/{id} | Recupera un recurso BudgetPeriod. |
| PATCH | /budget-periods/{id} | Actualiza el recurso BudgetPeriod. |
| DELETE | /budget-periods/{id} | Elimina el recurso BudgetPeriod. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | string | |
| periodKey | string | |
| baseAmount | stringnull | |
| linearGrowth | stringnull | |
| exponentialGrowthBps | integernull | |
| unitGrowth | stringnull | |
| plannedIncome | stringnull |
Empleado del Presupuesto
Endpoints
| GET | /budget-employees | Recupera la colección de recursos BudgetEmployee. |
| POST | /budget-employees | Crea un recurso BudgetEmployee. |
| GET | /budget-employees/{id} | Recupera un recurso BudgetEmployee. |
| PATCH | /budget-employees/{id} | Actualiza el recurso BudgetEmployee. |
| DELETE | /budget-employees/{id} | Elimina el recurso BudgetEmployee. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | string | |
| budget* | object | |
| employee* | string (iri-reference) | |
| position | string | |
| positionName | string |
Contrato del Presupuesto
Endpoints
| GET | /budget-contracts | Recupera la colección de recursos BudgetContract. |
| POST | /budget-contracts | Crea un recurso BudgetContract. |
| GET | /budget-contracts/{id} | Recupera un recurso BudgetContract. |
| DELETE | /budget-contracts/{id} | Elimina el recurso BudgetContract. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | string | |
| contract | string (iri-reference) |
Contratista del Presupuesto
Endpoints
| GET | /budget-contractors | Recupera la colección de recursos BudgetContractor. |
| POST | /budget-contractors | Crea un recurso BudgetContractor. |
| GET | /budget-contractors/{id} | Recupera un recurso BudgetContractor. |
| DELETE | /budget-contractors/{id} | Elimina el recurso BudgetContractor. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| budget* | string (iri-reference) | |
| contractor* | string (iri-reference) |
Factura del Presupuesto
Endpoints
| GET | /budget-invoices | Recupera la colección de recursos BudgetInvoice. |
| POST | /budget-invoices | Crea un recurso BudgetInvoice. |
| GET | /budget-invoices/{id} | Recupera un recurso BudgetInvoice. |
| DELETE | /budget-invoices/{id} | Elimina el recurso BudgetInvoice. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| budget* | string (iri-reference) | |
| invoice* | string (iri-reference) | |
| amountNet | stringnull |
Proyecto del Presupuesto
Endpoints
| GET | /budget-projects | Recupera la colección de recursos BudgetProject. |
| POST | /budget-projects | Crea un recurso BudgetProject. |
| GET | /budget-projects/{id} | Recupera un recurso BudgetProject. |
| DELETE | /budget-projects/{id} | Elimina el recurso BudgetProject. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | string | |
| budget* | object | |
| project* | string (iri-reference) | |
| createdAt | string (date-time) |
Partida de Actividad del Presupuesto
Endpoints
| GET | /budget-activity | Recupera la colección de recursos BudgetActivityItem. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| type | string | |
| state | string | |
| direction | string | |
| label | string | |
| amount | number | |
| date | stringnull |
Partida de Alerta del Presupuesto
Endpoints
| GET | /budget-alerts | Recupera la colección de recursos BudgetAlertItem. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| key | string | |
| type | string | |
| severity | string | |
| title | string | |
| description | string | |
| period | stringnull | |
| dismissed | boolean |
Grupo de Costes
Endpoints
| GET | /cost-groups | Recupera la colección de recursos CostGroup. |
| POST | /cost-groups | Crea un recurso CostGroup. |
| GET | /cost-groups/{id} | Get cost group chart |
| PATCH | /cost-groups/{id} | Actualiza el recurso CostGroup. |
| GET | /cost-groups/{id}/chart | Get cost group chart |
| POST | /cost-groups/{id}/merge | Merge cost groups |
| POST | /cost-groups/assign-icons-ai | Assign cost group icons via AI |
| GET | /cost-groups/chart | Get cost groups chart |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | integer | |
| type* | string | |
| name* | string | |
| description | stringnull | |
| icon | stringnull | |
| accoutancy_reference | stringnull | |
| costs | array | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| possibleTypes | string |
Regla Fiscal
Endpoints
| GET | /tax-rules | Recupera la colección de recursos TaxRule. |
| POST | /tax-rules | Crea un recurso TaxRule. |
| GET | /tax-rules/{id} | Recupera un recurso TaxRule. |
| PATCH | /tax-rules/{id} | Actualiza el recurso TaxRule. |
| DELETE | /tax-rules/{id} | Elimina el recurso TaxRule. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | string | |
| country* | string (iri-reference) | |
| taxAmount* | string |
Banco
Endpoints
| GET | /banks | Recupera la colección de recursos Bank. |
| POST | /banks | Crea un recurso Bank. |
| GET | /banks/{id} | Recupera un recurso Bank. |
| PATCH | /banks/{id} | Actualiza el recurso Bank. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| name | string | |
| swift* | string |
Adjunto de Transacción
Endpoints
| GET | /transaction-attachments | Recupera la colección de recursos TransactionAttachment. |
| POST | /transaction-attachments | Crea un recurso TransactionAttachment. |
| GET | /transaction-attachments/{id} | Recupera un recurso TransactionAttachment. |
| PATCH | /transaction-attachments/{id} | Actualiza el recurso TransactionAttachment. |
| DELETE | /transaction-attachments/{id} | Elimina el recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/apply-suggestion | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/apply-supplier-suggestion | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/approve | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/cascade-preview | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/detach | Crea un recurso TransactionAttachment. |
| GET | /transaction-attachments/{id}/documents | Recupera un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/manual-match | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/mark-manual-paid | Crea un recurso TransactionAttachment. |
| GET | /transaction-attachments/{id}/match-candidates | Recupera la colección de recursos TransactionAttachment. |
| POST | /transaction-attachments/{id}/prefill-project-allocations | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/prefill-project-allocations-by-cascade | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/prefill-project-allocations-by-meter | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/reject | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/replace-project-allocations | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/settle-without-transaction | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/submit-for-approval | Crea un recurso TransactionAttachment. |
| GET | /transaction-attachments/{id}/suggestions | Recupera la colección de recursos TransactionAttachment. |
| GET | /transaction-attachments/{id}/suggestions-debug | Recupera un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/suggestions/{suggestionId}/apply | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/suggestions/accept-all | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/unlink-transaction | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/unmark-manual-paid | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/unsettle-without-transaction | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/{id}/withdraw-approval | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/create | Crea un recurso TransactionAttachment. |
| POST | /transaction-attachments/create-base64 | Crea un recurso TransactionAttachment. |
| GET | /transaction-attachments/pending-approval | Recupera la colección de recursos TransactionAttachment. |
| GET | /transaction-attachments/search | Recupera la colección de recursos TransactionAttachment. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | integer | |
| amount | integernull | |
| name | string | The DISPLAY name — the filename the user uploaded (#3381). |
| invoiceNumber | stringnull | The purchase document number, when one is known (#3381). |
| receivedAt | string (date-time) | |
| status | string |
Línea de Factura del Adjunto de Transacción
Endpoints
| POST | /transaction-attachment-invoice-lines | Crea un recurso TransactionAttachmentInvoiceLine. |
| PATCH | /transaction-attachment-invoice-lines/{id} | Actualiza el recurso TransactionAttachmentInvoiceLine. |
| DELETE | /transaction-attachment-invoice-lines/{id} | Elimina el recurso TransactionAttachmentInvoiceLine. |
Campos de schema
| Campo | Tipo | Descripción |
|---|---|---|
| id | integer | |
| transactionAttachment | string (iri-reference) | |
| position | integer | |
| description | stringnull | |
| quantity | stringnull | |
| unitPrice | stringnull | |
| amount | stringnull | |
| taxRate | stringnull | |
| currency | stringnull | |
| project | string,null (iri-reference) | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) |