---
title: "Dane — Money for Laravel | Roundly"
description: "Základ, daň a suma s daňou z presných sadzieb s jedným zaokrúhlením na volanie, rozpisy so zaručeným súčtom a súhrny pre faktúry."
url: https://roundly-consulting.com/sk/open-source/navody/money-for-laravel/dane
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Money for Laravel](https://roundly-consulting.com/sk/open-source/navody/money-for-laravel.md)

# Dane

TaxRate počíta základ, daň a sumu s daňou jedným presným zlomkom a jedným zaokrúhlením na volanie — bez float delenia, bez prevodu na int:

```php
use RoundlyConsulting\Money\Tax\TaxRate;

$vat   = TaxRate::fromBasisPoints(2000, 'VAT');   // 20 %
$net   = Money::ofMajor('10', 'EUR');
$gross = Money::ofMajor('12', 'EUR');

$vat->taxOnNet($net);         // 2.00 EUR
$vat->grossFromNet($net);     // 12.00 EUR
$vat->netFromGross($gross);   // 10.00 EUR
$vat->taxInGross($gross);     // 2.00 EUR

$line = TaxRate::of('19')->breakdownFromGross(Money::ofMajor('10', 'EUR'));
$line->net;     // 8.40 EUR
$line->tax;     // 1.60 EUR
$line->gross;   // 10.00 EUR — net + tax === gross, always

TaxRate::of('8.875', 'Sales tax');   // precise to a thousandth of a percent
TaxRate::zero();
```

- TaxRate::of($percent, ?$label), TaxRate::fromBasisPoints($bp, ?$label), TaxRate::zero().
- taxOnNet() a grossFromNet() — pre ceny bez dane.
- netFromGross() a taxInGross() — pre ceny s daňou.
- breakdownFromNet() zaokrúhli daň a sumu s daňou dopočíta; breakdownFromGross() zaokrúhli základ a daň dopočíta.

V oboch smeroch platí presne základ + daň === suma s daňou: jedna strana sa zaokrúhli, druhá sa dopočíta odčítaním. Balík to overuje property testami na 10 000 náhodných sumách vo všetkých ôsmich režimoch zaokrúhľovania.

## Súhrny pre faktúry

```php
use RoundlyConsulting\Money\Tax\TaxSummary;

$vat     = TaxRate::of(20, 'VAT');
$reduced = TaxRate::of(10, 'Reduced');

$summary = TaxSummary::of(
    $vat->breakdownFromNet(Money::ofMajor('10', 'EUR')),
    $vat->breakdownFromNet(Money::ofMajor('25', 'EUR')),
    $reduced->breakdownFromNet(Money::ofMajor('8', 'EUR')),
);

$summary->perRate();   // list<TaxBreakdown>, one per rate, sorted by rate:
                       // 10 %: 8.00 + 0.80 = 8.80 · 20 %: 35.00 + 7.00 = 42.00
$summary->net();       // 43.00 EUR
$summary->tax();       // 7.80 EUR
$summary->gross();     // 50.80 EUR
```

TaxSummary agreguje riadky bez opätovného zaokrúhľovania. Či sa daň zaokrúhľuje po riadkoch alebo z celku, je vaše rozhodnutie — preto existujú obe možnosti. Zmiešané meny vyhodia CurrencyMismatch.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/money-for-laravel.md)
