PUQ Mautic Skip to main content

Description and definitions.

Purpose of the project

The project was created out of the need to plan, classify, organize and report costs in the company, based on commitments and fixed contracts.

The system helps to know the real income by counting the income from invoices issued in WHMCS with invoices or cost documents uploaded and described manually to the module without leaving the WHMCS. The system is based on the concept of contracts and obligations and enables the presentation of financial flows over a longer period of time.

WHMCS adequately manages and reports revenues, but does not have a mechanism to track and report costs. That is why we decided to prepare our own module, because we did not find one that would meet the functions we need.

The project was created as an inside project, but with a professional approach.
The project is entirely financed by PUQ sp.z o.o. https://puq.pl/

The project needs your support to function and develop further.
If you wish to help in the development of the project, be it financially, content-wise, translating, writing / proofreading documentation or in any other way, let us know [email protected]

The main purpose of the module is to collect documents in PDF format, correctly describe documents (contracts, invoices) in the context of contractors and obligations towards partners. Based on the entered data and imported invoices from the WHMCS system (also many WHMCS systems at the same time), WHMCS generates in a readable form reports and forecasts on the company's finances.

To save files, the module uses a connection to the WebDAV server, which means that the files are not physically stored on the WHMCS server and will be available even after removing the module.

The system requires use and has been fully tested with NEXTCLOUD, a recognized opensource software. You can use your own Nextcloud installation or use our free solution available at this link: https://crm.puq.pl/store/za-darmo

The module uses the API connection to WHMCS to synchronize invoices.
This means that the module can be installed not on the WHMCS production server, but e.g. on the developer's server, which in no case will affect the functionality of this module. It is also possible to combine several WHMCS systems to synchronize invoices.

The module creates the necessary tables in the WHMCS database and only uses them in its work.
It does not use any other WHMCS tables.

The module sends data to the project server only for the installation code, which is generated during installation for statistical purposes. In response, the servers provide data about the new version and important information displayed in the module's dashbord Panel.

The module supports multilingualism. The language settings can be changed in the WHMCS user configuration.
Available languages: English, Polish, Russian.


Counterparty (contractor) - an object in the system, means a natural or legal person who is a party to an agreement or invoice.

Data for classifications in the system.

  • Company name
  • VAT number

Documents - PDF files in unclassified form and their classification (invoice, contract, contract annex)

Commitments - an object in the system that characterizes a group of costs incurred in relation to the contractor on the basis of an agreement and / or invoices.

Data for classifications in the system:

  • Commitment name
  • Start date (The value is calculated from invoices or contracts)
  • End date (The value is calculated from invoices or contracts)
  • Indefinite time (The value is calculated from the contract or set manually)

Commitment as the basis for the organization of documents

The commitment is to group invoices and/or to link them to an appropriate contract.

Assumption 1

You can Map only one contract and invoices for the duration of the contract.
In this case, the parameters of the obligation (Start Date, End Date, Indefinite Time) are derived from the contract parameters.

Assumption 2

In the absence of an agreement, mapping only invoices related to the contractor.
In this case, the commitment parameters are taken from the linked invoices where:

  • The start date is the date of the oldest invoice,
  • The end date is the date of the most recent invoice.

If you select indefinite time, End date is the date of the latest invoice + 12 months.

Global assumption

Each invoice is to be mapped with a commitment.

Attention!!! Only one counterparty's invoices can be mapped to a commitment.

Accounting systems - A system that has a set of income invoices and can be exported.
-apiWHMCS: any WHMCS system with properly configured API.