roshyo / invoice-plugin
Sylius 中生成发票的插件
Requires
- php: ^7.1
- behappy/company-data-plugin: ^1.0.1
- knplabs/knp-snappy-bundle: ^1.5
- sylius/sylius: ^1.1
Requires (Dev)
- behat/behat: ^3.3
- behat/mink: ^1.7
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- behat/mink-selenium2-driver: ^1.3
- friends-of-behat/context-service-extension: ^1.0
- friends-of-behat/cross-container-extension: ^1.0
- friends-of-behat/service-container-extension: ^1.0
- friends-of-behat/symfony-extension: ^1.0
- friends-of-behat/variadic-extension: ^1.0
- lakion/mink-debug-extension: ^1.2.3
- phpspec/phpspec: ^3.2
- phpstan/phpstan-shim: ^0.9.2
- phpunit/phpunit: ^6.5
- se/selenium-server-standalone: ^2.52
- sylius-labs/coding-standard: ^1.0
- symplify/easy-coding-standard: ^2.4
This package is auto-updated.
Last update: 2024-09-27 22:46:52 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位长。
在不久的将来,此插件将使用一个数字生成器,您可以根据需要覆盖。
事件
在发票创建过程中,将触发两个事件,订单作为参数。
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。