yeknava/simple-invoice

为Laravel提供的简单发票包

0.2 2020-07-29 19:49 UTC

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();

贡献

欢迎拉取请求。对于主要更改,请先提交一个问题以讨论您想更改的内容。

许可证

MIT