digest for AbraFlexi
web applicationNetworkWebApplicationapt install abraflexi-digestPrepare digest with accounting state of AbraFlexi. Then save to file or send by email. Daily, weekly, monthly, yearly and all time. Instal or Update MultiFlexi App json definitions for digest tools into MultiFlexi
Periodical business digest for AbraFlexi accounting system. Collects data via the php-abraflexi library, runs analytics modules from vitexsoftware/digest-modules, and outputs Markdown, HTML, or PDF reports.
vitexsoftware/abraflexi-digest (this package)
src/Digest/Providers/AbraFlexiDataProvider.php — AbraFlexi → neutral schema
src/Digest/ModularDigestor.php — wires provider + modules + renderer
src/Digest/Mailer.php — sends digest by email
vitexsoftware/digest-modules
src/Modules/*.php — system-agnostic analytics modules
vitexsoftware/digest-renderer
src/ — Markdown/HTML/PDF rendering
AbraFlexiDataProvider (namespace AbraFlexi\Digest\Providers) implements DataProviderInterface from vitexsoftware/digest-modules. It translates the neutral FILTER_* / FIELD_* constants into AbraFlexi WQL queries and normalizes raw AbraFlexi records (including AbraFlexi\Relation objects for firma, mena, typDokl) into the neutral field schema.
vitexsoftware/digest-modules| File | Description |
|---|---|
| abraflexi-daydigest.php | Generate digest for one day |
| abraflexi-weekdigest.php | Generate digest for one week |
| abraflexi-monthdigest.php | Generate digest for one month |
| abraflexi-yeardigest.php | Generate digest for one year |
| abraflexi-alltimedigest.php | Generate digest for all time |
composer require vitexsoftware/abraflexi-digest
Or via Debian package:
wget -qO- https://repo.vitexsoftware.com/KEY.gpg | sudo tee /etc/apt/trusted.gpg.d/vitexsoftware.gpg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/vitexsoftware.gpg] https://repo.vitexsoftware.com $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/vitexsoftware.list
sudo apt update
sudo apt install abraflexi-digest
After installation:
abraflexi-daydigest — digest for one dayabraflexi-weekdigest — digest for one weekabraflexi-monthdigest — digest for one monthabraflexi-yeardigest — digest for one yearabraflexi-alltimedigest — digest for all timeCreate /etc/abraflexi/.env (or pass path as first CLI argument):
ABRAFLEXI_URL="https://your-abraflexi.example.com"
ABRAFLEXI_LOGIN="username"
ABRAFLEXI_PASSWORD="password"
ABRAFLEXI_COMPANY="your-company-db"
EASE_LOGGER="syslog|mail|console"
DIGEST_MAILTO="info@yourdomain.net"
DIGEST_FROM="noreply@vitexsoftware.cz"
THEME="happy"
DIGEST_SAVETO="/var/tmp/"
<?php
use AbraFlexi\Digest\ModularDigestor;
use AbraFlexi\Digest\Providers\AbraFlexiDataProvider;
use VitexSoftware\DigestModules\Core\ModuleRunner;
use VitexSoftware\DigestModules\Modules\Debtors;
use VitexSoftware\DigestModules\Modules\OutcomingInvoices;
$provider = new AbraFlexiDataProvider();
$runner = new ModuleRunner($provider);
$runner->addModule('outcoming_invoices', new OutcomingInvoices());
$runner->addModule('debtors', new Debtors());
$period = new \DatePeriod(
new \DateTime('first day of last month'),
new \DateInterval('P1M'),
new \DateTime('first day of this month'),
);
$result = $runner->run($period);
Modules live in vitexsoftware/digest-modules. All are supported by AbraFlexiDataProvider:
OutcomingInvoices — issued invoices in the periodIncomingInvoices — received invoices in the periodIncomingPayments — bank receipts in the periodOutcomingPayments — bank outflows in the periodDebtors — all overdue unpaid receivablesUnmatchedInvoices — issued invoices not matched to a paymentUnmatchedPayments — bank movements not matched to an invoiceWaitingIncome — proforma invoices awaiting settlementWaitingPayments — invoices awaiting paymentNewCustomers — contacts created in the periodReminds — invoices with pending payment remindersBestSellers — top products/services sold in the periodWithoutEmail — contacts missing an email addressWithoutTel — contacts missing a phone numberAllTime\PurchasePriceLowerThanSales — products sold below purchase priceDigest for AbraFlexi is ready to run as a MultiFlexi application.
This software would not be created without the support of:
MIT