Skip to content

0.9.0

Choose a tag to compare

@FernandoCelmer FernandoCelmer released this 08 Sep 01:26
· 15 commits to master since this release

What's Changed

  • ibsCbs on a product — the Reforma Tributária group, per item

Why

The API has taken ibs_cbs since the tax-reform groups landed, but no SDK exposed it: a caller who needed IBS/CBS had to fall back to extraGroups and hand-build the payload. It is required from 2026 for the regime normal, so that gap had a deadline attached.

new Product(
    description: 'Teclado',
    quantity: 2.0,
    unitPrice: 120.00,
    ncm: '84716052',
    cfop: '5102',
    ibsCbs: [
        'cst' => '000',
        'classification' => '000001',
        'rate_state' => 0.1,
        'rate_city' => 0.0,
        'rate_federal' => 0.9,
    ],
);

cst (3 digits) and classification (cClassTrib, 6 digits) are your fiscal decision; the API derives the amounts from the three rates. base is optional — without it the base is the item amount.

An item without the group emits nothing, which is what an NF-e looked like before the reform. ibsCbs was added last in the constructor, so no positional or named argument moved.