Перейти до вмісту

Система рахунків-фактур

Модуль рахунків-фактур генерує продажні документи безпосередньо в WooCommerce. Підтримує чотири типи документів, автоматичну нумерацію та PDF.

Стандартний рахунок-фактура VAT з даними:

  • дані продавця та покупця (зокрема NIP обох сторін)
  • позиції з назвою, кількістю, ціною нетто, ставкою VAT, сумою VAT та ціною брутто
  • підсумок з розбивкою за ставками VAT
  • номер рахунка, дату виставлення та дату продажу
  • термін та форму оплати

Корекція до попереднього рахунка. Містить:

  • номер та дату коригованого рахунка
  • позиції до корекції та після корекції
  • різницю вартості
  • причину корекції

Виставте корекцію з панелі замовлення або через REST API.

Спрощений документ для клієнтів без NIP. Містить позиції з цінами брутто та підсумок.

Документ, що додається до посилки. Містить список продуктів та кількості, без цін.

Перейдіть до WooCommerce > Налаштування > Polski > Модулі PRO > Рахунки-фактури.

ПолеОпис
Назва компаніїПовна назва компанії продавця
NIPПодатковий ідентифікаційний номер продавця
АдресаВулиця, номер, поштовий індекс, місто
Номер банківського рахункуНомер рахунка для переказів
Контактний emailАдреса email, видима на рахунку

Доступні стратегії нумерації:

СтратегіяФорматПриклад
Річна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

Увімкніть опцію Автоматична генерація рахунка, щоб плагін створював рахунок після зміни статусу на “Завершено”.

Можна також увімкнути автоматичне додавання PDF рахунка до листа “Замовлення завершено”.

PDF генерується бібліотекою TCPDF. Шаблон містить:

  • логотип компанії (опціонально, налаштовується в налаштуваннях)
  • дані продавця та покупця
  • таблицю позицій з колонками VAT
  • підсумок з розбивкою за ставками VAT
  • футер з даними компанії

Плагін використовує шрифт DejaVu Sans з підтримкою польських символів. Додаткове налаштування не потрібне.

Цикл статусів рахунка:

Draft (Чернетка) → Issued (Виставлений) → Sent (Надісланий) → Paid (Оплачений)
→ Cancelled (Скасований)
СтатусОпис
DraftРахунок створено, але ще не виставлено. Можна редагувати
IssuedРахунок виставлено з присвоєним номером. Не можна редагувати
SentРахунок надіслано клієнту (email або KSeF)
PaidРахунок оплачено
CancelledРахунок скасовано. Потребує виставлення корекції

У панелі замовлення модуль додає meta box “Рахунки-фактури” з функціями:

  • Виставити рахунок - генерує рахунок на основі даних замовлення
  • Завантажити PDF - завантажує рахунок у форматі PDF
  • Надіслати клієнту - надсилає рахунок електронною поштою
  • Виставити корекцію - створює коригувальний рахунок
  • Історія - список усіх документів, повʼязаних із замовленням

Кожна позиція рахунка містить детальні дані VAT:

  • ціна нетто одиниці
  • ставка VAT (23%, 8%, 5%, 0%, zw., np., oo.)
  • сума VAT одиниці
  • вартість нетто
  • вартість брутто

Плагін отримує ставки VAT з конфігурації WooCommerce Tax. Підтримує кілька ставок на одному рахунку.

REST API ендпоінти для управління рахунками:

GET /wp-json/polski-pro/v1/invoices

Параметри query:

ПараметрТипОпис
order_idintФільтрувати за ID замовлення
statusstringФільтрувати за статусом (draft, issued, sent, paid, cancelled)
typestringФільтрувати за типом (invoice, correction, receipt, packing_slip)
date_fromstringДата від (YYYY-MM-DD)
date_tostringДата до (YYYY-MM-DD)
per_pageintКількість результатів на сторінку (за замовчуванням 20)
pageintНомер сторінки
POST /wp-json/polski-pro/v1/invoices
{
"order_id": 123,
"type": "invoice",
"auto_number": true
}
GET /wp-json/polski-pro/v1/invoices/{id}/pdf

Повертає файл PDF як application/pdf із заголовком Content-Disposition: attachment.

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
}
]
}
GET /wp-json/polski-pro/v1/invoices/stats

Повертає статистику рахунків: загальна кількість, вартості нетто/брутто, розбивка за статусами.

Дія, що викликається перед генерацією рахунка.

/**
* @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);

Фільтрує формат номера рахунка.

/**
* @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);

Фільтрує дані, що передаються до шаблону 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);

PDF генерує порожні сторінки

Section titled “PDF генерує порожні сторінки”
  1. Перевірте, чи встановлено розширення PHP mbstring
  2. Переконайтеся, що каталог wp-content/uploads/polski-pro/invoices/ має права на запис (755)
  3. Перевірте, чи заповнено дані продавця в налаштуваннях

Нумерація скидається відповідно до стратегії: річна - 1 січня, місячна - 1-го дня місяця. Хочете безперервну нумерацію? Виберіть стратегію “Безперервна”.

Перевірте конфігурацію WooCommerce Tax. Переконайтеся, що ставки VAT для Польщі правильно встановлені.

Ця сторінка має виключно інформаційний характер і не є юридичною консультацією. Перед впровадженням проконсультуйтеся з юристом. Polski for WooCommerce є програмним забезпеченням з відкритим кодом (GPLv2), що надається без гарантій.