# Poster-PRRO-Kit
Цей Kit призначений для роботи з PRRO, а саме для генерації XML документів для податкової, 
генерації фіскальних чеків для термопринтерів, генерації документів для PRRO в офлайн режимі, 
розрахунку податків та генераціі посилання на фіскальний чек в кабінеті податковій.

## Встановлення
Для встановлення цього пакету використовуйте npm:
```bash
  npm install poster-prro-kit
``` 

## Генерація чеків
[Детальніше](modules/receiptGenerator/receiptGenerator.md)

### Формати для генерації чеків
[Детальніше](modules/receiptGenerator/textReceiptGenerator/formatters/formatters.md)

## Посилання на фіскальний чек в кабінеті ДПС
[Детальніше](modules/dfs/dfs.md)

## Податки
[Детальніше](modules/taxes/taxes.md)

## XML-документи
[Детальніше](modules/XMLDocuments/XMLDocuments.md)

## Офлайн режим
[Детальніше](modules/offlineMode/offlineMode.md)

## Utils
### Округлення
Згідно з законодавством, ціна при оплаті готівкою повино бути кратне 10 копійкам. 
Для цього в Kit доступні наступні методи:
- `roundWithPrecision` (потрібен для округлення до сотих, бо при додаванні або множенні 
може виникати випадки, як, наприклад, `0.1 + 0.2 = 0.30000000000000004`).
- `cashSumDecimalRounding` (для округлення викорустовується правило, як для математичного 
округлення. Але ціна не може бути 0, тому якщо ціна вказана меньше 5 копійок, то за 
математичним правилом вони округляться до 0 і це буде не валідно, тому є це метод, 
який перевіряє, що якщо ціна меньше 10 копійок, округлювати її до 10 копійок).

### getDateTime
В Kit також доступний метод `getDateTime` який повертає з ISO формату дані про час у 
необхідному форматі, доступні формати:
- дефолтний формат (коли нічого не передали) `DD.MM.YYYY HH:mm:ss`
- `date` - поверне дату у форматі `DD.MM.YYYY`
- `time` - поверне дату у форматі `HH:mm:ss`
- `dateDfsLink` - поточну дату у форматі `YYYYMMDD`
- `timeDfsLink` - поверне дату у форматі `YYYY-MM-DDTHH:mm:ss`

якщо не передати перший параметр, то метод поверне поточну дату.
