Skip to content

Getting started

Core concepts

The QUiCK resource model: company, partner, expense, income, document and accounting assignment.

The QUiCK resource model follows Hungarian accounting practice while staying developer-friendly: every object has a unique integer id, lists are paginated, and most resources are available in both the stable /1/ and the extended /2/ API version.

Company

The company is the top-level unit — an accounting entity belonging to one tax number. Every other resource hangs off it, and one API token grants access to exactly one company. Company details are read with GET /2/company-info/ (id, name, tax_account_number, default_currency_name, advanced_accounting, …).

Partner

A partner is a customer or a vendor. One partner can be both at the same time; the is_customer and is_vendor fields tell you which. Partner records can be reconciled by tax_number.

FieldTypeDescription
namestringCompany name or individual's name
tax_numberstring?Tax number (HU: ########-#-##)
is_customerbool?Acts as a customer
is_vendorboolActs as a vendor
account_numberstring?Bank account number
city / zip_code / addressstring?Address components

Access: GET /1/partners/ (paginated list).

Expense and income

The two central accounting resources are the expense (incoming document) and the income (outgoing document). Both link to a partner, a currency and one or more accounting assignments.

  • Creating an expense happens by uploading the document: POST /2/expenses/create/ expects the file Base64-encoded in the content field. The system extracts the data from the document.
  • Listing and details: GET /1/expenses/, GET /2/expenses/, GET /2/expenses/{expenseId}/.
  • Incomes follow the same model (GET /1/incomes/); their accounting assignments are updated with POST /2/incomes/{incomeId}/update/.

Document types

The invoice_class field marks the type of the document:

ValueMeaning
0Invoice
1Storno (voiding) invoice
2Advance invoice
3Final invoice
4Correction invoice

Key fields

Fields you will meet on both expenses and incomes: partner (plus the denormalised partner_name, partner_tax_number, …), invoice_number, currency, net_amount / vat_amount / gross_amount (decimal, returned as strings), the issued_at / fulfilled_at / due_at dates, paid_status (payment state) and accounting_status (bookkeeping state).

Amounts are strings

Monetary amounts are returned as decimal strings (for example "25000.00") to avoid floating-point rounding errors. Handle them as a decimal type on the client, never as a float.

Assignment

An assignment is one accounting breakdown line of an expense or income — the equivalent of a classic line item. It ties an amount to accounting categories: expense_type / revenue_type, net_amount / vat_amount / gross_amount, vat (VAT category) and — when advanced_accounting is enabled — ledger_number_id (ledger number).

flowchart
Rendering diagram…

Document

A document is the uploaded file (PDF, image) belonging to an expense or income. Handling: GET /1/documents/, upload and linking through /1/documents/attach/, /1/documents/detach/ and /1/documents/files/, plus the v2 /2/documents/* operations.

Payment and cash account

A payment is a financial transaction tied to a cash account or bank account (account). The current balance of those accounts also appears in the GET /1/pulse/ summary (accounts[].current_balance).

Accounting master data (v2)

The /2/ API also lets you maintain the accounting categories:

ResourceEndpointDescription
Ledger number/2/accounting/ledger-numbers/List and manage ledger numbers
VAT category/2/accounting/vat-categories/VAT rates (cost / revenue type, percent)
Expense type/2/expense-types/Catalogue of expense categories
Revenue type/2/revenue-types/Catalogue of revenue categories
Tag/2/tags/Free-form tags on documents

Identifiers and pagination

  • Identifiers: every resource gets an integer id (for example 4821). There is no type prefix.
  • Pagination: list endpoints respond with a count / next / previous / results envelope; you page through them with page and page_size.
  • Format: besides ?format=json (the default), most endpoints also serve a browser-friendly ?format=html view.

Assignments depend on advanced_accounting

The ledger number (ledger_number_id) and the detailed VAT fields only take effect when advanced accounting is switched on for the company (advanced_accounting: true in the company-info response). Check this before sending ledger references.