Periodical business digest for Stormware Pohoda accounting system. Collects data via the PHP-Pohoda-Connector (mServer), runs analytics modules from vitexsoftware/digest-modules, and outputs Markdown, HTML, or PDF reports.
vitexsoftware/pohoda-digest (this package)
src/DataProvider/PohodaDataProvider.php — Pohoda mServer → neutral schema
src/PohodaDigestor.php — wires provider + modules + renderer
src/Mailer.php — sends digest by email
vitexsoftware/digest-modules
src/Modules/*.php — system-agnostic analytics modules
vitexsoftware/digest-renderer
src/ — Markdown/HTML/PDF rendering
PohodaDataProvider (namespace VitexSoftware\PohodaDigest\DataProvider) implements DataProviderInterface from vitexsoftware/digest-modules. It translates neutral FILTER_* conditions into Pohoda mServer API calls, applies post-filters for conditions the API cannot handle server-side, and normalizes raw mServer records to the neutral FIELD_* schema.
- System-agnostic modules — uses the same analytics modules as AbraFlexi-Digest
- Multiple output formats — Markdown, HTML, PDF (via DigestRenderer)
- Email delivery — Symfony Mailer integration
- MultiFlexi ready — runs as a MultiFlexi application
composer require vitexsoftware/pohoda-digestOr 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 pohoda-digestAfter installation:
pohoda-daydigest— digest for one daypohoda-weekdigest— digest for one weekpohoda-monthdigest— digest for one monthpohoda-yeardigest— digest for one yearpohoda-alltimedigest— digest for all time
Create /etc/pohoda/.env (or pass path as first CLI argument):
POHODA_URL="http://your-pohoda-server:58002"
POHODA_ICO="12345678"
POHODA_USERNAME="api"
POHODA_PASSWORD="your-password"
EASE_LOGGER="syslog|mail|console"
DIGEST_MAILTO="info@yourdomain.net"
DIGEST_FROM="noreply@yourdomain.net"
OUTPUT_FORMAT="html"
DIGEST_SAVETO="/var/tmp/"<?php
use VitexSoftware\DigestModules\Core\ModuleRunner;
use VitexSoftware\DigestModules\Modules\Debtors;
use VitexSoftware\DigestModules\Modules\OutcomingInvoices;
use VitexSoftware\PohodaDigest\DataProvider\PohodaDataProvider;
$provider = new PohodaDataProvider([
'url' => 'http://pohoda.example.com:58002',
'username' => 'api',
'password' => 'secret',
'ico' => '12345678',
]);
$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);
// Or use the high-level PohodaDigestor:
use VitexSoftware\PohodaDigest\PohodaDigestor;
$digestor = new PohodaDigestor('Monthly Digest');
$digestor->registerModules('monthly');
echo $digestor->generate($period, 'html');All modules from vitexsoftware/digest-modules are supported:
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 price
sudo apt install multiflexi-pohoda-digestSupported environment variables per app:
| Variable | Description |
|---|---|
POHODA_URL |
Pohoda mServer URL |
POHODA_ICO |
Company IČO |
POHODA_USERNAME |
API username |
POHODA_PASSWORD |
API password |
THEME |
Report theme (bootstrap or email) |
DIGEST_MAILTO |
Send digest to this address |
OUTPUT_FORMAT |
html, md, or pdf |
DIGEST_SAVETO |
Save output file to this path |
- vitexsoftware/digest-modules — analytics modules
- vitexsoftware/digest-renderer — rendering engine
- vitexsoftware/abraflexi-digest — AbraFlexi variant
MIT