behappy/invoice-plugin

此包已被废弃,不再维护。作者建议使用Sylius/InvoicingPlugin包。

用于在Sylius中生成发票的插件

安装: 6 004

依赖项: 0

建议者: 0

安全: 0

星标: 13

关注者: 7

分支: 4

公开问题: 0

类型:sylius-plugin

This package is not auto-updated.

Last update: 2022-02-01 13:10:19 UTC


README

Sylius生成发票插件

安装过程

$ composer require behappy/invoice-plugin

信息

此插件使用Knp Snappy Bundle。请参阅其文档了解wkhtmltopdf安装(https://github.com/KnpLabs/snappy

启用插件

在AppKernel中启用以下插件

// in app/AppKernel.php
public function registerBundles() {
	$bundles = array(
		// ...
        new Knp\Bundle\SnappyBundle\KnpSnappyBundle(),
		
        new \BeHappy\SyliusCompanyDataPlugin\BeHappySyliusCompanyDataPlugin(),
        new \BeHappy\SyliusInvoicePlugin\BeHappySyliusInvoicePlugin(),
    );
    // ...
}
#in app/config/config.yml
imports:
    ...
    - { resource: "@BeHappySyliusCompanyDataPlugin/Resources/config/config.yml" }
    - { resource: "@BeHappySyliusInvoicePlugin/Resources/config/config.yml" }
    ...
# in routing.yml
...
behappy_company_data_plugin:
    resource: '@BeHappySyliusCompanyDataPlugin/Resources/config/routing.yml'

behappy_invoice_plugin.admin:
    resource: '@BeHappySyliusInvoicePlugin/Resources/config/routes/admin.yml'
    prefix: /admin

behappy_invoice_plugin.shop:
    resource: '@BeHappySyliusInvoicePlugin/Resources/config/routes/shop.yml'
    prefix: /{_locale}/account
    requirements:
        _locale: ^[a-z]{2}(?:_[A-Z]{2})?$
...

生成数据库

只需启动

php bin/console doctrine:schema:update --dump-sql --force

如果您在要求此插件之前没有启用它,可能存在引用BeHappySyliusCompanyDataPlugin的表

可选:生成发票

为了为之前下订单生成发票,可以运行此命令

php bin/console behappy:invoices:generate

此命令将为所有处于已履行状态且未附加发票的订单生成发票

就这样!

从现在起,每次订单履行时,事件监听器将创建一个新的发票,并将(如果需要)公司数据信息复制到单独的表中以使其静态化。

在订单的运货部分下,新块也在管理员的账户部分中显示。

在您的客户的账户部分,每个与他们的订单相关联的发票也显示了一个链接。

配置

发票号码

默认情况下,发票将以12位数字生成,用0填充(str_pad(12, '0', STR_PAD_LEFT))

您可以重定义此长度定义,如下所示

# in app/config.yml
parameters:
    ...
    behappy_invoice_plugin.invoice_number.length: 14
    ...

现在每个发票都将有14位长。

在未来,此插件将使用一个您可以根据需要重写的数字生成器。

事件

在发票创建过程中,会触发2个事件,以订单作为参数。

behappy_invoice_plugin.event.invoice.pre_create
behappy_invoice_plugin.event.invoice.post_create

您可以为这些事件订阅并执行任何需要的操作

覆盖

要覆盖PDF模板文件,只需创建以下文件:app/Resources/BeHappySyliusInvoicePlugin/views/Invoice/pdf.html.twig

感谢

此插件部分受到BitBagCommerce/SyliusInvoicingPlugin (https://github.com/BitBagCommerce/SyliusInvoicingPlugin)的启发。

欢迎贡献力量

您也可以通过composer.json中提到的邮箱地址提出问题。

其他

您还可以在我们的其他包中(包括Sylius插件)进行检查,链接为:https://github.com/BeHappyCommunication