承接 byrokrat/billing 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

byrokrat/billing

最新稳定版本:2.1.0

Composer 安装命令:

composer require byrokrat/billing

包简介

Data types for creating and formatting invoices

README 文档

README

ABANDONED! This package is discontinued and will not be updated.

Billing

Packagist Version Build Status Quality Score Scrutinizer Coverage

Data types for creating and formatting invoices.

Installation

composer require byrokrat/billing

Usage

Invoices are created using the InvoiceBuilder:

namespace byrokrat\billing;

use byrokrat\amount\Currency\EUR;

// 1 unit of a 100 EUR item with 25% VAT
$item = new Item('Description', new EUR('100'), 1, .25);

$invoice = (new InvoiceBuilder)
    ->setSerial('1')
    ->setSeller(new Agent('Company X'))
    ->setBuyer(new Agent('Mrs Y'))
    ->generateOcr()
    ->addItem($item)
    ->setAttribute('message', 'custom invoice message')
    ->buildInvoice();

// prints 125 (100 EUR plus 25% VAT)
echo $invoice->getInvoiceTotal();

Implementing your own billables and agents

Billing uses an interface centered design:

Item and Agent offers simple implementations of these interfaces, but you may of course provide your own implementations and extend the interfaces as needed.

API

InvoiceBuilder

Method signature description
setSerial(string $serial): self Set invoice serial number
setSeller(AgentInterface $seller): self Set seller
setBuyer(AgentInterface $buyer): self Set buyer
setOcr(string $ocr): self Set invoice reference number
generateOcr(): self Generate invoice reference number from serial number
addItem(Billable $billable): self Add billable to invoice
setBillDate(DateTimeInterface $date): self Set date of invoice creation
setExpiresAfter(int $nrOfDays): self Set number of days before invoice expires
setDeduction(Amount $deduction): self Set deduction (amount prepaid)
setAttribute(string $key, $value): self Set attribute defined by key
buildInvoice(): Invoice Build invoice

Invoice

Method signature description
getSerial(): string Get invoice serial number
getSeller(): AgentInterface Get registered seller
getBuyer(): AgentInterface Get registered buyer
getOcr(): string Get invoice reference number
getItems(): ItemBasket Get item basket
getInvoiceTotal(): Amount Get charged amount (VAT included)
getBillDate(): DateTimeInterface Get date of invoice creation
getExpiresAfter(): int Get number of days before invoice expires
getExpirationDate(): DateTimeInterface Get date when invoice expires
getDeduction(): Amount Get deducted prepaid amound
getAttribute(string $key, $default = ''): mixed Get attribute or default if attribute is not set
getAttributes(): array Get all loaded attributes

ItemBasket

Method signature description
getIterator(): Traversable Iterate over ItemEnvelope objects
getNrOfItems(): int Get number of items in basket
getNrOfUnits(): int Get number of units in basket (each item may contain multiple units)
getTotalUnitCost(): Amount Get total cost of all items (VAT excluded)
getTotalVatCost(): Amount Get total VAT cost for all items
getTotalCost(): Amount Get total cost of all items (VAT included)
getVatRates(): array Get unit and vat totals for non-zero vat rates

统计信息

  • 总下载量: 24
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 3
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: Unlicense
  • 更新时间: 2015-02-11

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固