Система рахунків-фактур
Модуль рахунків-фактур генерує продажні документи безпосередньо в WooCommerce. Підтримує чотири типи документів, автоматичну нумерацію та PDF.
Типи документів
Section titled “Типи документів”Faktura VAT
Section titled “Faktura VAT”Стандартний рахунок-фактура VAT з даними:
- дані продавця та покупця (зокрема NIP обох сторін)
- позиції з назвою, кількістю, ціною нетто, ставкою VAT, сумою VAT та ціною брутто
- підсумок з розбивкою за ставками VAT
- номер рахунка, дату виставлення та дату продажу
- термін та форму оплати
Коригувальний рахунок
Section titled “Коригувальний рахунок”Корекція до попереднього рахунка. Містить:
- номер та дату коригованого рахунка
- позиції до корекції та після корекції
- різницю вартості
- причину корекції
Виставте корекцію з панелі замовлення або через REST API.
Чек (paragon)
Section titled “Чек (paragon)”Спрощений документ для клієнтів без NIP. Містить позиції з цінами брутто та підсумок.
Документ WZ (packing slip)
Section titled “Документ WZ (packing slip)”Документ, що додається до посилки. Містить список продуктів та кількості, без цін.
Налаштування
Section titled “Налаштування”Перейдіть до WooCommerce > Налаштування > Polski > Модулі PRO > Рахунки-фактури.
Дані продавця
Section titled “Дані продавця”| Поле | Опис |
|---|---|
| Назва компанії | Повна назва компанії продавця |
| NIP | Податковий ідентифікаційний номер продавця |
| Адреса | Вулиця, номер, поштовий індекс, місто |
| Номер банківського рахунку | Номер рахунка для переказів |
| Контактний email | Адреса email, видима на рахунку |
Нумерація
Section titled “Нумерація”Доступні стратегії нумерації:
| Стратегія | Формат | Приклад |
|---|---|---|
| Річна | FV/{numer}/{rok} | FV/1/2026 |
| Місячна | FV/{numer}/{miesiąc}/{rok} | FV/1/04/2026 |
| Безперервна | FV/{numer} | FV/1 |
| Власний шаблон | Визначається користувачем | FV/2026/04/001 |
Доступні токени у власному форматі:
{numer}- черговий номер рахунка (з обнуленням за стратегією){rok}- чотиризначний рік{miesiac}- двозначний місяць{dzien}- двозначний день{id_zamowienia}- ID замовлення WooCommerce
Автоматична генерація
Section titled “Автоматична генерація”Увімкніть опцію Автоматична генерація рахунка, щоб плагін створював рахунок після зміни статусу на “Завершено”.
Можна також увімкнути автоматичне додавання PDF рахунка до листа “Замовлення завершено”.
Генерація PDF
Section titled “Генерація PDF”PDF генерується бібліотекою TCPDF. Шаблон містить:
- логотип компанії (опціонально, налаштовується в налаштуваннях)
- дані продавця та покупця
- таблицю позицій з колонками VAT
- підсумок з розбивкою за ставками VAT
- футер з даними компанії
Шрифти
Section titled “Шрифти”Плагін використовує шрифт DejaVu Sans з підтримкою польських символів. Додаткове налаштування не потрібне.
Статус рахунка
Section titled “Статус рахунка”Цикл статусів рахунка:
Draft (Чернетка) → Issued (Виставлений) → Sent (Надісланий) → Paid (Оплачений) → Cancelled (Скасований)| Статус | Опис |
|---|---|
| Draft | Рахунок створено, але ще не виставлено. Можна редагувати |
| Issued | Рахунок виставлено з присвоєним номером. Не можна редагувати |
| Sent | Рахунок надіслано клієнту (email або KSeF) |
| Paid | Рахунок оплачено |
| Cancelled | Рахунок скасовано. Потребує виставлення корекції |
Панель замовлення
Section titled “Панель замовлення”У панелі замовлення модуль додає meta box “Рахунки-фактури” з функціями:
- Виставити рахунок - генерує рахунок на основі даних замовлення
- Завантажити PDF - завантажує рахунок у форматі PDF
- Надіслати клієнту - надсилає рахунок електронною поштою
- Виставити корекцію - створює коригувальний рахунок
- Історія - список усіх документів, повʼязаних із замовленням
VAT на позиціях
Section titled “VAT на позиціях”Кожна позиція рахунка містить детальні дані VAT:
- ціна нетто одиниці
- ставка VAT (23%, 8%, 5%, 0%, zw., np., oo.)
- сума VAT одиниці
- вартість нетто
- вартість брутто
Плагін отримує ставки VAT з конфігурації WooCommerce Tax. Підтримує кілька ставок на одному рахунку.
REST API
Section titled “REST API”REST API ендпоінти для управління рахунками:
Список рахунків
Section titled “Список рахунків”GET /wp-json/polski-pro/v1/invoicesПараметри query:
| Параметр | Тип | Опис |
|---|---|---|
order_id | int | Фільтрувати за ID замовлення |
status | string | Фільтрувати за статусом (draft, issued, sent, paid, cancelled) |
type | string | Фільтрувати за типом (invoice, correction, receipt, packing_slip) |
date_from | string | Дата від (YYYY-MM-DD) |
date_to | string | Дата до (YYYY-MM-DD) |
per_page | int | Кількість результатів на сторінку (за замовчуванням 20) |
page | int | Номер сторінки |
Створення рахунка
Section titled “Створення рахунка”POST /wp-json/polski-pro/v1/invoices{ "order_id": 123, "type": "invoice", "auto_number": true}Завантаження PDF
Section titled “Завантаження PDF”GET /wp-json/polski-pro/v1/invoices/{id}/pdfПовертає файл PDF як application/pdf із заголовком Content-Disposition: attachment.
Виставлення корекції
Section titled “Виставлення корекції”POST /wp-json/polski-pro/v1/invoices/{id}/correction{ "reason": "Zmiana danych nabywcy", "items": [ { "product_id": 45, "quantity": 1, "net_price": 100.00, "vat_rate": 23 } ]}Статистика
Section titled “Статистика”GET /wp-json/polski-pro/v1/invoices/statsПовертає статистику рахунків: загальна кількість, вартості нетто/брутто, розбивка за статусами.
polski_pro/invoices/before_generate
Section titled “polski_pro/invoices/before_generate”Дія, що викликається перед генерацією рахунка.
/** * @param int $order_id ID zamówienia * @param string $type Typ dokumentu (invoice, correction, receipt, packing_slip) */do_action('polski_pro/invoices/before_generate', int $order_id, string $type);Приклад:
add_action('polski_pro/invoices/before_generate', function (int $order_id, string $type): void { if ($type === 'invoice') { // Logowanie generowania faktury error_log("Generowanie faktury dla zamówienia #{$order_id}"); }}, 10, 2);polski_pro/invoices/number_format
Section titled “polski_pro/invoices/number_format”Фільтрує формат номера рахунка.
/** * @param string $number Wygenerowany numer faktury * @param string $type Typ dokumentu * @param int $order_id ID zamówienia */apply_filters('polski_pro/invoices/number_format', string $number, string $type, int $order_id): string;Приклад:
add_filter('polski_pro/invoices/number_format', function (string $number, string $type, int $order_id): string { if ($type === 'correction') { return 'KOR/' . $number; } return $number;}, 10, 3);polski_pro/invoices/pdf_content
Section titled “polski_pro/invoices/pdf_content”Фільтрує дані, що передаються до шаблону PDF.
/** * @param array $data Dane faktury (seller, buyer, items, totals) * @param int $invoice_id ID faktury */apply_filters('polski_pro/invoices/pdf_content', array $data, int $invoice_id): array;Приклад:
add_filter('polski_pro/invoices/pdf_content', function (array $data, int $invoice_id): array { $data['footer_note'] = 'Dziękujemy za zakupy!'; return $data;}, 10, 2);Найчастіші проблеми
Section titled “Найчастіші проблеми”PDF генерує порожні сторінки
Section titled “PDF генерує порожні сторінки”- Перевірте, чи встановлено розширення PHP
mbstring - Переконайтеся, що каталог
wp-content/uploads/polski-pro/invoices/має права на запис (755) - Перевірте, чи заповнено дані продавця в налаштуваннях
Нумерація скидається
Section titled “Нумерація скидається”Нумерація скидається відповідно до стратегії: річна - 1 січня, місячна - 1-го дня місяця. Хочете безперервну нумерацію? Виберіть стратегію “Безперервна”.
Немає VAT на позиціях
Section titled “Немає VAT на позиціях”Перевірте конфігурацію WooCommerce Tax. Переконайтеся, що ставки VAT для Польщі правильно встановлені.