List edit endpoints — payment type, outstanding balance, partner
How the corrective endpoints called from the invoice list work, which tables they touch and which separate permission keys they need.
Three corrective actions have their own permission keys; the broader edit right does not include them. Without the key the list shows the data as text.
Endpoints
| Endpoint | Behaviour | Right and scope |
|---|---|---|
savepaymenttype | Checks that the payment type exists (masterdata/paymenttype), then savePaymenttype(); field: invoice.paymenttype_id. | paytype (BASE) + invoiceInScope; error_paytype_input |
outstandingcontext, setoutstanding | Sets the HUF and currency outstanding balance according to currency and rate (getOutstandingContext, setOutstandingBalance); fields: outstanding_balance_huf, outstanding_balance_dev. | core modify + outstanding (BASE); owner in getAllowedCompanyIds; error_outstanding_value |
repointpartner | repointInvoicePartner() rewrites the company reference of the invoice, its transactions, the prepared bank import rows and the attached documents. | repoint (BASE) + owner in scope |
repointcreate | First creates a new company (name at least 2 characters, tax number format, duplicate check), then repoints. | repoint + company/company::add |
Repoint error keys: error_repoint_input, error_repoint_failed, error_repoint_new_name, error_repoint_new_taxhu, error_repoint_new_exists, error_repoint_new_failed, error_repoint_new_created_not_moved.
Tables involved
Table names carry the installation's own prefix in the database: invoice, transaction, transaction_import_staged, transaction_settlement, doc, doc_link, company. The invoice model itself writes these tables when repointing.
Related use
The bank import matching window calls the same repoint method (bank/bankimport.repointpartner).