yeknava / simple-invoice
为Laravel提供的简单发票包
0.2
2020-07-29 19:49 UTC
Requires
- php: >= 7.1
- ext-json: *
- illuminate/database: 5.5.*|5.6.*|5.7.*|5.8.*|6.*|7.*
- illuminate/support: 5.5.*|5.6.*|5.7.*|5.8.*|6.*|7.*
- nesbot/carbon: ^2.0@dev
Requires (Dev)
- fzaninotto/faker: ^1.4
- orchestra/testbench: ^5.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^9.1
This package is auto-updated.
Last update: 2024-09-29 05:36:06 UTC
README
Laravel简单发票包。
安装
使用包管理器composer安装简单发票包。
composer require yeknava/simple-invoice
使用方法
在您的终端运行此命令
php artisan vendor:publish
如果有,请将Biller trait添加到付款者模型中,并将InvoiceOwner trait添加到收款者模型中。
<?php
use Yeknava\SimpleInvoice\Biller;
class User extends Model {
use Biller;
}
<?php
use Yeknava\SimpleInvoice\InvoiceOwner;
class OwnerModel extends Model {
use InvoiceOwner;
}
$user = User::find(1);
$user1 = (new UserModel([]));
$user1->save();
$user2 = (new OwnerModel([]));
$user2->save();
$invoice = $user1->newBill('bill title');
$invoice->setOwner($user2);
$invoice->addItem((new InvoiceItem(1000, 'item1'))
->setTax(100)
->setItem(ItemModel::find(1))
->setQuantity(5)
->setShippingPrice(100)
->setDiscountInPercent(10));
$invoice->addItem((new InvoiceItem(1000, 'item2'))
->setTax(100)
->setQuantity(5)
->setShippingPrice(100)
->setDiscountInPercent(10));
$generatedInvoice = $invoice->setExpiredDate(Carbon::now())->generate();
try {
$generatedInvoice->paid();
} catch (ExpiredInvoiceException $e) {
}
$invoice = $invoice->setExpiredDate(Carbon::now()->addDay())->generate();
$invoice = $invoice->paid();
贡献
欢迎拉取请求。对于主要更改,请先提交一个问题以讨论您想更改的内容。