PHPackages                             bitbag/invoicing-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. bitbag/invoicing-plugin

AbandonedArchivedSylius-plugin

bitbag/invoicing-plugin
=======================

Invoicing plugin for Sylius.

v1.0.0-beta.4(7y ago)201.3k3[4 issues](https://github.com/BitBagCommerce/SyliusInvoicingPlugin/issues)MITPHPPHP ^7.1

Since Feb 13Pushed 7y ago2 watchersCompare

[ Source](https://github.com/BitBagCommerce/SyliusInvoicingPlugin)[ Packagist](https://packagist.org/packages/bitbag/invoicing-plugin)[ RSS](/packages/bitbag-invoicing-plugin/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (4)Dependencies (19)Versions (5)Used By (0)

 [ ![](https://raw.githubusercontent.com/bitbager/BitBagCommerceAssets/master/SyliusInvoicingPlugin.png) ](http://bitbag.shop)
 [ ![](https://camo.githubusercontent.com/804dfd158feec1b335475252e50871434eb036572214072f2712b1ac933ede04/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6269746261672f696e766f6963696e672d706c7567696e2e737667) ](https://packagist.org/packages/bitbag/invoicing-plugin "License") [ ![](https://camo.githubusercontent.com/28fcfb7fd44767151b21b41d21e801712ffad0fbf5c5c5a9d6d2c5b651a06148/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6269746261672f696e766f6963696e672d706c7567696e2e737667) ](https://packagist.org/packages/bitbag/invoicing-plugin "Version") [ ![](https://camo.githubusercontent.com/5b42fabfae930a67712e902a93f2ea7be8161b3892dae35e947e7114df885156/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f426974426167436f6d6d657263652f53796c697573496e766f6963696e67506c7567696e2f6d61737465722e737667) ](http://travis-ci.org/BitBagCommerce/SyliusInvoicingPlugin "Build status") [ ![](https://camo.githubusercontent.com/86fbc4c0849ed59d029fd4bc124b3398cfb900ee3a8c6bd028ccb221d67a407c/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f426974426167436f6d6d657263652f53796c697573496e766f6963696e67506c7567696e2e737667) ](https://scrutinizer-ci.com/g/BitBagCommerce/SyliusInvoicingPlugin/ "Scrutinizer") [ ![](https://camo.githubusercontent.com/892231cab7b03a44e6da756d10e10977a60e0586443b35cb7b36ff48abb5d169/68747470733a2f2f706f7365722e707567782e6f72672f6269746261672f696e766f6963696e672d706c7567696e2f646f776e6c6f616473) ](https://packagist.org/packages/bitbag/invoicing-plugin "Total Downloads")
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#----------------------------------------------------------------------------------------------------)

Overview
--------

[](#overview)

This plugin enables generating invoices in Sylius platform application. It adds a VAT number field for the billing address during the checkout and allows to download the invoice in the admin panel view.

Support
-------

[](#support)

We work on amazing eCommerce projects on top of Sylius and Pimcore. Need some help or additional resources for a project? Write us an email on  or visit [our website](https://bitbag.shop/)! 🚀

Demo
----

[](#demo)

We created a demo app with some useful use-cases of the plugin! Visit [demo.bitbag.shop](https://demo.bitbag.shop) to take a look at it. The admin can be accessed under [demo.bitbag.shop/admin](https://demo.bitbag.shop/admin) link and `sylius: sylius` credentials.

Installation
------------

[](#installation)

```
$ composer require bitbag/invoicing-plugin:dev-master
```

Add plugin dependencies to your AppKernel.php file:

```
public function registerBundles()
{
    return array_merge(parent::registerBundles(), [
        ...

        new \Knp\Bundle\SnappyBundle\KnpSnappyBundle(),
        new \BitBag\SyliusInvoicingPlugin\BitBagSyliusInvoicingPlugin(),
    ]);
}
```

### Note

[](#note)

This plugin uses wkhtmltopdf under the hood wrapped into [KnpSnappyBundle](https://github.com/KnpLabs/KnpSnappyBundle). It requires you to install the wkthmltopdf binary. Read more [in the KnpSnappyBundle docs](https://github.com/KnpLabs/KnpSnappyBundle)and on [Wkhtmltopdf website](https://wkhtmltopdf.org/).

Import required config in your `app/config/config.yml` file:

```
# app/config/config.yml

imports:
    ...

    - { resource: "@BitBagSyliusInvoicingPlugin/Resources/config/config.yml" }
```

Import routing in your `app/config/routing.yml` file:

```
# app/config/routing.yml
...

bitbag_sylius_invoicing_plugin:
    resource: '@BitBagSyliusInvoicingPlugin/Resources/config/routing.yml'
```

Finish the installation by updating/migrating the database schema:

```
$ bin/console doctrine:schema:update --force

```

Usage
-----

[](#usage)

To see what templates you need to override in order to enable this plugin on your storefront, browse Twig files from `/tests/Application/app/Resources/SyliusShopBundle` path of this plugin.

To override the invoice template, override the `invoice.html.twig` file of this plugin, which you should do in `app/Resources/BitBagSyliusInvoicingPlugin/views/invoice.html.twig` file of your local project or in the theme path, in case you are using multiple themes.

In your admin panel, add the company data. So far, only single company data is supported.

In order to see the ability to download invoice, in the checkout, confirm a billing address and fill the VAT number. Make sure you customized your local SyliusShopBundle templates like described above. Then, in the admin panel, you should see a button to download the invoice for an order, which has the billing address with VAT number fulfilled (which in your case, shoul be the last one).

Customization
-------------

[](#customization)

### Available services you can [decorate](https://symfony.com/doc/current/service_container/service_decoration.html) and forms you can [extend](http://symfony.com/doc/current/form/create_form_type_extension.html)

[](#available-services-you-can-decorate-and-forms-you-can-extend)

```
  bitbag_sylius_invoicing_plugin.controller.action.download_order_invoice                      BitBag\SyliusInvoicingPlugin\Controller\Action\DownloadOrderInvoice
  bitbag_sylius_invoicing_plugin.controller.company_data                                       Sylius\Bundle\ResourceBundle\Controller\ResourceController
  bitbag_sylius_invoicing_plugin.controller.invoice                                            Sylius\Bundle\ResourceBundle\Controller\ResourceController
  bitbag_sylius_invoicing_plugin.event_listener.company_data                                   BitBag\SyliusInvoicingPlugin\Menu\CompanyDataMenuBuilder
  bitbag_sylius_invoicing_plugin.event_listener.order_show                                     BitBag\SyliusInvoicingPlugin\Menu\DownloadInvoiceMenuBuilder
  bitbag_sylius_invoicing_plugin.factory.company_data                                          Sylius\Component\Resource\Factory\Factory
  bitbag_sylius_invoicing_plugin.factory.invoice                                               Sylius\Component\Resource\Factory\Factory
  bitbag_sylius_invoicing_plugin.file_generator.invoice_filename                               BitBag\SyliusInvoicingPlugin\FileGenerator\InvoicePdfFilenameGenerator
  bitbag_sylius_invoicing_plugin.file_generator.invoice_file                                   BitBag\SyliusInvoicingPlugin\FileGenerator\InvoicePdfFileGenerator
  bitbag_sylius_invoicing_plugin.form.extension.address                                        BitBag\SyliusInvoicingPlugin\Form\Extension\AddressTypeExtension
  bitbag_sylius_invoicing_plugin.form.type.company_data                                        BitBag\SyliusInvoicingPlugin\Form\Type\CompanyDataType
  bitbag_sylius_invoicing_plugin.form.type.invoice                                             BitBag\SyliusInvoicingPlugin\Form\Type\InvoiceType
  bitbag_sylius_invoicing_plugin.manager.company_data                                          alias for "doctrine.orm.default_entity_manager"
  bitbag_sylius_invoicing_plugin.manager.invoice                                               alias for "doctrine.orm.default_entity_manager"
  bitbag_sylius_invoicing_plugin.repository.company_data                                       BitBag\SyliusInvoicingPlugin\Repository\CompanyDataRepository
  bitbag_sylius_invoicing_plugin.repository.invoice                                            BitBag\SyliusInvoicingPlugin\Repository\InvoiceRepository
  bitbag_sylius_invoicing_plugin.resolver.company_data                                         BitBag\SyliusInvoicingPlugin\Resolver\CompanyDataResolver
  bitbag_sylius_invoicing_plugin.resolver.invoice_file                                         BitBag\SyliusInvoicingPlugin\Resolver\InvoiceFileResolver
  bitbag_sylius_invoicing_plugin.validator.vat_number                                          BitBag\SyliusInvoicingPlugin\Validator\Constraints\VatNumberValidator
```

### Parameters you can override in your parameters.yml(.dist) file

[](#parameters-you-can-override-in-your-parametersymldist-file)

```
parameters:
    wkhtmltopdf_binary_path: /usr/local/bin/wkhtmltopdf
    invoices_root_dir: "%kernel.project_dir%/var/invoices"
```

Testing
-------

[](#testing)

```
$ composer install
$ cd tests/Application
$ yarn install
$ yarn run gulp
$ bin/console assets:install web -e test
$ bin/console doctrine:schema:create -e test
$ bin/console server:run 127.0.0.1:8080 -d web -e test
$ open http://localhost:8080
$ bin/behat
$ bin/phpspec run
```

Contribution
------------

[](#contribution)

Learn more about our contribution workflow on .

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Total

4

Last Release

2911d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/15603601?v=4)[bitbag](/maintainers/bitbag)[@bitbag](https://github.com/bitbag)

---

Top Contributors

[![pamil](https://avatars.githubusercontent.com/u/1897953?v=4)](https://github.com/pamil "pamil (65 commits)")[![bitbager](https://avatars.githubusercontent.com/u/28542010?v=4)](https://github.com/bitbager "bitbager (47 commits)")[![lchrusciel](https://avatars.githubusercontent.com/u/6213903?v=4)](https://github.com/lchrusciel "lchrusciel (12 commits)")[![pjedrzejewski](https://avatars.githubusercontent.com/u/614970?v=4)](https://github.com/pjedrzejewski "pjedrzejewski (9 commits)")[![stefandoorn](https://avatars.githubusercontent.com/u/4903082?v=4)](https://github.com/stefandoorn "stefandoorn (7 commits)")[![ambroisemaupate](https://avatars.githubusercontent.com/u/380026?v=4)](https://github.com/ambroisemaupate "ambroisemaupate (6 commits)")[![Zales0123](https://avatars.githubusercontent.com/u/6212718?v=4)](https://github.com/Zales0123 "Zales0123 (4 commits)")[![patrick477](https://avatars.githubusercontent.com/u/21317699?v=4)](https://github.com/patrick477 "patrick477 (3 commits)")[![juchi](https://avatars.githubusercontent.com/u/3333098?v=4)](https://github.com/juchi "juchi (3 commits)")[![SteadEXE](https://avatars.githubusercontent.com/u/1759156?v=4)](https://github.com/SteadEXE "SteadEXE (2 commits)")[![marek-pietrzak-tg](https://avatars.githubusercontent.com/u/2435655?v=4)](https://github.com/marek-pietrzak-tg "marek-pietrzak-tg (1 commits)")[![lsmith77](https://avatars.githubusercontent.com/u/300279?v=4)](https://github.com/lsmith77 "lsmith77 (1 commits)")[![czende](https://avatars.githubusercontent.com/u/5628485?v=4)](https://github.com/czende "czende (1 commits)")

---

Tags

ecommerceinvoicingsyliussylius-pluginsymfony

###  Code Quality

TestsPHPUnit

Code StyleECS

### Embed Badge

![Health badge](/badges/bitbag-invoicing-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/bitbag-invoicing-plugin/health.svg)](https://phpackages.com/packages/bitbag-invoicing-plugin)
```

###  Alternatives

[sylius/invoicing-plugin

Invoicing plugin for Sylius.

901.0M2](/packages/sylius-invoicing-plugin)[sylius/refund-plugin

Plugin provides basic refunds functionality for Sylius application.

691.7M14](/packages/sylius-refund-plugin)[webgriffe/sylius-akeneo-plugin

Plugin allowing to import products data from Akeneo PIM to your Sylius store.

2477.8k](/packages/webgriffe-sylius-akeneo-plugin)[webgriffe/sylius-table-rate-shipping-plugin

Provides table rate shipping calculator.

1490.4k](/packages/webgriffe-sylius-table-rate-shipping-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
