API reference / Quittio \ Core \ Documents
DocumentBuilder
class in quittio/core · uses Macroable
Quittio\Core\Documents\DocumentBuilder · Source
Fluent builder for documents. Parties, lines, notes, discounts and payment data work exactly like in the {@see InvoiceBuilder}.
Properties#
| Property | Type | Description |
|---|---|---|
$macros protected static | array<string, callable> |
Methods#
| Method | Description |
|---|---|
->__construct() | |
->__call() | |
::accountStatement() | An account statement (Kontoauszug): open items of a statementPeriod() with an opening balance. |
->alternativeLine() | Alternative to another line, shown but not included in the totals. |
->bonus() | The reduction of the net amount of one VAT rate of a bonus statement, as a line; the VAT of the reduction follows from the rate. For exempt supplies pass their category and exemption reason. |
->bonusAgreement() | The agreement a bonus statement is based on, e.g. "der Bonusvereinbarung vom 15.01.2026"; the statement names it. |
->bonusInvoices() | Numbers of the invoices a bonus statement concerns (optional, listed on the statement). |
->bonusOnRevenue() | The reduction of one VAT rate as a percentage of the revenue of that rate in the period, e.g. 3 % of 100,000.00: a line of 3,000.00 with the revenue and the percentage as description. |
->bonusPeriod() | Period of the supplies a bonus statement reduces, e.g. a calendar year. |
::bonusStatement() | A bonus statement (Bonusabrechnung): the reduction of the consideration of the supplies of a bonusPeriod() under a bonusAgreement(), per VAT rate with bonus() or bonusOnRevenue() (in Germany section 17 (4) UStG). |
->build() | The immutable document, not calculated yet (DocumentCalculator, or the render run). |
->buyer() | |
->buyerReference() | The buyer's reference; null removes it. |
->cashDiscount() | Cash discount ("Skonto"), see InvoiceBuilder::cashDiscount(). |
->creditTransfer() | Bank account for the payment, see InvoiceBuilder::creditTransfer(). |
->currency() | Currency, ISO 4217; default EUR. |
->custom() | Free data for templates (view model key meta.custom). |
->deadline() | Payment deadline of a payment reminder. |
->defaultVat() | VAT treatment of the lines that set none, see InvoiceBuilder::defaultVat(). |
->deliverTo() | Deliver-to party: recipient name and address, see InvoiceBuilder::deliverTo(). |
->deliveryDate() | Delivery date. |
::deliveryNote() | A delivery note (Lieferschein), e.g. with packages and serialised lines. |
->discountAmount() | Absolute discount on the lines that count towards the totals, see InvoiceBuilder::discountAmount(). |
->discountPercent() | Percentage discount on the lines that count towards the totals, see InvoiceBuilder::discountPercent(). |
->dueInDays() | Payment target in days, see InvoiceBuilder::dueInDays(). |
->fee() | Adds a fee of a payment reminder, e.g. a reminder fee. |
->flatRate() | Adds the flat rate for recovery costs of a late payment (Article 6 Directive 2011/7/EU; section 288 (5) BGB: 40 EUR) for one claim, e.g. an invoice or an instalment. It is owed once per late payment, only by businesses, and counts towards other recovery costs such as reminder fees, which may then be claimed only in so far as they exceed it. |
::flushMacros() | |
::hasMacro() | |
->interest() | Default interest from $from (first day with interest) until $until (exclusive: the last day with interest is the day before). $dayCount null counts actual/actual (365 or 366 days per calendar year); 365 or 360 use a fixed basis, e.g. from the dayCount of the country pack's DunningLaw. |
->interestCharge() | Adds calculated interest charges, e.g. of Dunning\DefaultInterest::calculate(), with their own day count basis and texts. The base is taken over as amount in the document currency. |
->issueDate() | Document date; default today. |
->line() | A line in the forms of InvoiceBuilder::line(), e.g. ->line('Consulting', netPrice: '120.00'). |
->lines() | |
->locale() | Language of the document, see InvoiceBuilder::locale(). |
::macro() | |
::make() | A new builder for a document of $type. |
->note() | Adds a note with an optional subject code, see InvoiceBuilder::note(). |
->number() | Document number. |
->openingBalance() | Opening balance of an account statement. |
->openItem() | Adds an open invoice of a payment reminder or account statement: number, date, amount (string), due date, the amount paid so far and a description. |
->optionalLine() | Optional quote line, shown with its price but not included in the totals. |
::orderConfirmation() | An order confirmation (Auftragsbestätigung), e.g. with reference() to the quote. |
->package() | Adds a package of a delivery note. |
::paymentReminder() | |
->paymentTerms() | |
->presentation() | Design of this document, see InvoiceBuilder::presentation(). |
::proforma() | A proforma invoice: looks like an invoice, but is not one for tax purposes. |
->purchaseOrderReference() | The buyer's purchase order reference; null removes it. |
::quote() | A quote (Angebot): lines, optional and alternative lines, validUntil(). |
->reference() | Preceding document, e.g. the quote of an order confirmation or the order of a delivery note. |
->seller() | |
->serialisedLine() | Delivery note line with serial numbers. |
->statementPeriod() | Period of an account statement. |
->tap() | Direct access to the underlying invoice builder for everything not wrapped here. |
->validUntil() | Date until which a quote is valid. |
__construct()#
final public function __construct(DocumentType $type)| Parameter | Type | Description |
|---|---|---|
$type | DocumentType |
__call()#
public function __call(string $method, array<mixed> $parameters): mixed| Parameter | Type | Description |
|---|---|---|
$method | string | |
$parameters | array<mixed> |
- Returns
mixed
accountStatement()#
public static function accountStatement(): staticAn account statement (Kontoauszug): open items of a statementPeriod() with an opening balance.
- Returns
static
alternativeLine()#
public function alternativeLine(
string $alternativeTo,
InvoiceLine|LineBuilder|array|callable|string $line,
BigDecimal|int|float|string|null $netPrice = null,
BigDecimal|int|float|string|null $quantity = null,
UnitCode|RawCode|string|null $unit = null,
TaxPreset|VatCategory|null $vat = null,
?string $description = null,
BigDecimal|int|float|string|null $priceInclVat = null,
): staticAlternative to another line, shown but not included in the totals.
| Parameter | Type | Description |
|---|---|---|
$alternativeTo | string | |
$line | InvoiceLine|LineBuilder|array|callable|string | |
$netPrice | Brick\Math\BigDecimal|int|float|string|null = null | |
$quantity | Brick\Math\BigDecimal|int|float|string|null = null | |
$unit | UnitCode|RawCode|string|null = null | |
$vat | TaxPreset|VatCategory|null = null | |
$description | ?string = null | |
$priceInclVat | Brick\Math\BigDecimal|int|float|string|null = null |
- Returns
static
bonus()#
public function bonus(
BigDecimal|int|string $net,
TaxPreset|VatCategory $vat,
BigDecimal|int|string|null $rate = null,
?string $exemptionReason = null,
VatExemptionReasonCode|RawCode|string|null $exemptionReasonCode = null,
?string $description = null,
): staticThe reduction of the net amount of one VAT rate of a bonus statement, as a line; the VAT of the reduction follows from the rate. For exempt supplies pass their category and exemption reason.
| Parameter | Type | Description |
|---|---|---|
$net | Brick\Math\BigDecimal|int|string | |
$vat | TaxPreset|VatCategory | |
$rate | Brick\Math\BigDecimal|int|string|null = null | |
$exemptionReason | ?string = null | |
$exemptionReasonCode | VatExemptionReasonCode|RawCode|string|null = null | |
$description | ?string = null |
- Returns
static
bonusAgreement()#
public function bonusAgreement(string $agreement): staticThe agreement a bonus statement is based on, e.g. "der Bonusvereinbarung vom 15.01.2026"; the statement names it.
| Parameter | Type | Description |
|---|---|---|
$agreement | string |
- Returns
static
bonusInvoices()#
public function bonusInvoices(string ...$numbers): staticNumbers of the invoices a bonus statement concerns (optional, listed on the statement).
| Parameter | Type | Description |
|---|---|---|
...$numbers | string |
- Returns
static
bonusOnRevenue()#
public function bonusOnRevenue(
BigDecimal|int|string $revenue,
BigDecimal|int|string $percent,
TaxPreset|VatCategory $vat,
BigDecimal|int|string|null $rate = null,
?string $exemptionReason = null,
VatExemptionReasonCode|RawCode|string|null $exemptionReasonCode = null,
): staticThe reduction of one VAT rate as a percentage of the revenue of that rate in the period, e.g. 3 % of 100,000.00: a line of 3,000.00 with the revenue and the percentage as description.
| Parameter | Type | Description |
|---|---|---|
$revenue | Brick\Math\BigDecimal|int|string | |
$percent | Brick\Math\BigDecimal|int|string | |
$vat | TaxPreset|VatCategory | |
$rate | Brick\Math\BigDecimal|int|string|null = null | |
$exemptionReason | ?string = null | |
$exemptionReasonCode | VatExemptionReasonCode|RawCode|string|null = null |
- Returns
static
bonusPeriod()#
public function bonusPeriod(
Date|DateTimeInterface|string $start,
Date|DateTimeInterface|string $end,
): staticPeriod of the supplies a bonus statement reduces, e.g. a calendar year.
| Parameter | Type | Description |
|---|---|---|
$start | Date|DateTimeInterface|string | |
$end | Date|DateTimeInterface|string |
- Returns
static
bonusStatement()#
public static function bonusStatement(): staticA bonus statement (Bonusabrechnung): the reduction of the consideration of the supplies of a bonusPeriod() under a bonusAgreement(), per VAT rate with bonus() or bonusOnRevenue() (in Germany section 17 (4) UStG).
- Returns
static
build()#
public function build(): DocumentDataThe immutable document, not calculated yet (DocumentCalculator, or the render run).
- Returns
DocumentData- Throws
InvalidInvoiceData– when the seller or the buyer is missing, or an item name or the VAT of a line without default VAT
buyer()#
public function buyer(BuyerParty|PartyBuilder|ProvidesParty|callable $buyer): static| Parameter | Type | Description |
|---|---|---|
$buyer | BuyerParty|PartyBuilder|ProvidesParty|callable |
- Returns
static
buyerReference()#
public function buyerReference(?string $reference): staticThe buyer's reference; null removes it.
| Parameter | Type | Description |
|---|---|---|
$reference | ?string |
- Returns
static
cashDiscount()#
public function cashDiscount(
int $days,
string $percent,
?string $baseAmount = null,
): staticCash discount ("Skonto"), see InvoiceBuilder::cashDiscount().
| Parameter | Type | Description |
|---|---|---|
$days | int | |
$percent | string | |
$baseAmount | ?string = null |
- Returns
static
creditTransfer()#
public function creditTransfer(
string $iban,
?string $bic = null,
?string $accountName = null,
): staticBank account for the payment, see InvoiceBuilder::creditTransfer().
| Parameter | Type | Description |
|---|---|---|
$iban | string | |
$bic | ?string = null | |
$accountName | ?string = null |
- Returns
static
currency()#
public function currency(string $currency): staticCurrency, ISO 4217; default EUR.
| Parameter | Type | Description |
|---|---|---|
$currency | string |
- Returns
static
custom()#
public function custom(string $key, mixed $value): staticFree data for templates (view model key meta.custom).
| Parameter | Type | Description |
|---|---|---|
$key | string | |
$value | mixed |
- Returns
static
deadline()#
public function deadline(Date|DateTimeInterface|string $date): staticPayment deadline of a payment reminder.
| Parameter | Type | Description |
|---|---|---|
$date | Date|DateTimeInterface|string |
- Returns
static
defaultVat()#
public function defaultVat(
TaxPreset|VatCategory $presetOrCategory,
BigDecimal|int|float|string|null $rate = null,
?string $exemptionReason = null,
VatExemptionReasonCode|RawCode|string|null $exemptionReasonCode = null,
): staticVAT treatment of the lines that set none, see InvoiceBuilder::defaultVat().
| Parameter | Type | Description |
|---|---|---|
$presetOrCategory | TaxPreset|VatCategory | |
$rate | Brick\Math\BigDecimal|int|float|string|null = null | |
$exemptionReason | ?string = null | |
$exemptionReasonCode | VatExemptionReasonCode|RawCode|string|null = null |
- Returns
static
deliverTo()#
public function deliverTo(?string $recipientName, ?Address $address = null): staticDeliver-to party: recipient name and address, see InvoiceBuilder::deliverTo().
| Parameter | Type | Description |
|---|---|---|
$recipientName | ?string | |
$address | ?Address = null |
- Returns
static
deliveryDate()#
public function deliveryDate(Date|DateTimeInterface|string $date): staticDelivery date.
| Parameter | Type | Description |
|---|---|---|
$date | Date|DateTimeInterface|string |
- Returns
static
deliveryNote()#
public static function deliveryNote(): staticA delivery note (Lieferschein), e.g. with packages and serialised lines.
- Returns
static
discountAmount()#
public function discountAmount(
BigDecimal|int|float|string $amount,
?string $reason = null,
AllowanceReasonCode|RawCode|string|null $reasonCode = \Quittio\Core\Enums\AllowanceReasonCode::Discount,
): staticAbsolute discount on the lines that count towards the totals, see InvoiceBuilder::discountAmount().
| Parameter | Type | Description |
|---|---|---|
$amount | Brick\Math\BigDecimal|int|float|string | |
$reason | ?string = null | |
$reasonCode | AllowanceReasonCode|RawCode|string|null = \Quittio\Core\Enums\AllowanceReasonCode::Discount |
- Returns
static
discountPercent()#
public function discountPercent(
BigDecimal|int|float|string $percent,
?string $reason = null,
AllowanceReasonCode|RawCode|string|null $reasonCode = \Quittio\Core\Enums\AllowanceReasonCode::Discount,
): staticPercentage discount on the lines that count towards the totals, see InvoiceBuilder::discountPercent().
| Parameter | Type | Description |
|---|---|---|
$percent | Brick\Math\BigDecimal|int|float|string | |
$reason | ?string = null | |
$reasonCode | AllowanceReasonCode|RawCode|string|null = \Quittio\Core\Enums\AllowanceReasonCode::Discount |
- Returns
static
dueInDays()#
public function dueInDays(int $days): staticPayment target in days, see InvoiceBuilder::dueInDays().
| Parameter | Type | Description |
|---|---|---|
$days | int |
- Returns
static
fee()#
public function fee(string $description, BigDecimal|int|float|string $amount): staticAdds a fee of a payment reminder, e.g. a reminder fee.
| Parameter | Type | Description |
|---|---|---|
$description | string | |
$amount | Brick\Math\BigDecimal|int|float|string |
- Returns
static- Throws
InvalidArgumentException– for a float amount
flatRate()#
public function flatRate(
string $claim,
BigDecimal|int|string $amount = '40.00',
?string $description = null,
): staticAdds the flat rate for recovery costs of a late payment (Article 6 Directive 2011/7/EU; section 288 (5) BGB: 40 EUR) for one claim, e.g. an invoice or an instalment. It is owed once per late payment, only by businesses, and counts towards other recovery costs such as reminder fees, which may then be claimed only in so far as they exceed it.
| Parameter | Type | Description |
|---|---|---|
$claim | string | |
$amount | Brick\Math\BigDecimal|int|string = '40.00' | |
$description | ?string = null |
- Returns
static- Throws
InvalidArgumentException– for a float amount; when building, for a second flat rate of the same claim or a consumer as buyer
flushMacros()#
public static function flushMacros(): voidhasMacro()#
public static function hasMacro(string $name): bool| Parameter | Type | Description |
|---|---|---|
$name | string |
- Returns
bool
interest()#
public function interest(
string $base,
BigDecimal|string $ratePercent,
Date|DateTimeInterface|string $from,
Date|DateTimeInterface|string $until,
?string $description = null,
?int $dayCount = \Quittio\Core\Documents\InterestCharge::ACTUAL_ACTUAL,
): staticDefault interest from $from (first day with interest) until $until (exclusive: the last day with interest is the day before). $dayCount null counts actual/actual (365 or 366 days per calendar year); 365 or 360 use a fixed basis, e.g. from the dayCount of the country pack's DunningLaw.
| Parameter | Type | Description |
|---|---|---|
$base | string | |
$ratePercent | Brick\Math\BigDecimal|string | |
$from | Date|DateTimeInterface|string | |
$until | Date|DateTimeInterface|string | |
$description | ?string = null | |
$dayCount | ?int = \Quittio\Core\Documents\InterestCharge::ACTUAL_ACTUAL |
- Returns
static
interestCharge()#
public function interestCharge(InterestCharge ...$charges): staticAdds calculated interest charges, e.g. of Dunning\DefaultInterest::calculate(), with their own day count basis and texts. The base is taken over as amount in the document currency.
| Parameter | Type | Description |
|---|---|---|
...$charges | InterestCharge |
- Returns
static
issueDate()#
public function issueDate(Date|DateTimeInterface|string $date): staticDocument date; default today.
| Parameter | Type | Description |
|---|---|---|
$date | Date|DateTimeInterface|string |
- Returns
static
line()#
public function line(
InvoiceLine|LineBuilder|ProvidesInvoiceLine|array|callable|string $line,
BigDecimal|int|float|string|null $netPrice = null,
BigDecimal|int|float|string|null $quantity = null,
UnitCode|RawCode|string|null $unit = null,
TaxPreset|VatCategory|null $vat = null,
?string $description = null,
BigDecimal|int|float|string|null $priceInclVat = null,
?DocumentLineOptions $options = null,
): staticA line in the forms of InvoiceBuilder::line(), e.g. ->line('Consulting', netPrice: '120.00').
| Parameter | Type | Description |
|---|---|---|
$line | InvoiceLine|LineBuilder|ProvidesInvoiceLine|array|callable|string | |
$netPrice | Brick\Math\BigDecimal|int|float|string|null = null | |
$quantity | Brick\Math\BigDecimal|int|float|string|null = null | |
$unit | UnitCode|RawCode|string|null = null | |
$vat | TaxPreset|VatCategory|null = null | |
$description | ?string = null | |
$priceInclVat | Brick\Math\BigDecimal|int|float|string|null = null | |
$options | ?DocumentLineOptions = null |
- Returns
static
lines()#
public function lines(
iterable<InvoiceLine|LineBuilder|ProvidesInvoiceLine|array<array-key, mixed>|callable(LineBuilder): mixed|string> $lines,
): static| Parameter | Type | Description |
|---|---|---|
$lines | iterable<InvoiceLine|LineBuilder|ProvidesInvoiceLine|array<array-key, mixed>|callable(LineBuilder): mixed|string> |
- Returns
static
locale()#
public function locale(string $locale): staticLanguage of the document, see InvoiceBuilder::locale().
| Parameter | Type | Description |
|---|---|---|
$locale | string |
- Returns
static
macro()#
public static function macro(string $name, callable $macro): void| Parameter | Type | Description |
|---|---|---|
$name | string | |
$macro | callable |
make()#
public static function make(DocumentType $type): staticA new builder for a document of $type.
| Parameter | Type | Description |
|---|---|---|
$type | DocumentType |
- Returns
static
note()#
public function note(
string $content,
NoteSubjectCode|RawCode|string|null $subject = null,
): staticAdds a note with an optional subject code, see InvoiceBuilder::note().
| Parameter | Type | Description |
|---|---|---|
$content | string | |
$subject | NoteSubjectCode|RawCode|string|null = null |
- Returns
static
number()#
public function number(string $number): staticDocument number.
| Parameter | Type | Description |
|---|---|---|
$number | string |
- Returns
static
openingBalance()#
public function openingBalance(BigDecimal|int|float|string $amount): staticOpening balance of an account statement.
| Parameter | Type | Description |
|---|---|---|
$amount | Brick\Math\BigDecimal|int|float|string |
- Returns
static- Throws
InvalidArgumentException– for a float amount
openItem()#
public function openItem(
string $invoiceNumber,
Date|DateTimeInterface|string $invoiceDate,
string $amount,
Date|DateTimeInterface|string|null $dueDate = null,
?string $paid = null,
?string $description = null,
): staticAdds an open invoice of a payment reminder or account statement: number, date, amount (string), due date, the amount paid so far and a description.
| Parameter | Type | Description |
|---|---|---|
$invoiceNumber | string | |
$invoiceDate | Date|DateTimeInterface|string | |
$amount | string | |
$dueDate | Date|DateTimeInterface|string|null = null | |
$paid | ?string = null | |
$description | ?string = null |
- Returns
static
optionalLine()#
public function optionalLine(
InvoiceLine|LineBuilder|array|callable|string $line,
BigDecimal|int|float|string|null $netPrice = null,
BigDecimal|int|float|string|null $quantity = null,
UnitCode|RawCode|string|null $unit = null,
TaxPreset|VatCategory|null $vat = null,
?string $description = null,
BigDecimal|int|float|string|null $priceInclVat = null,
): staticOptional quote line, shown with its price but not included in the totals.
| Parameter | Type | Description |
|---|---|---|
$line | InvoiceLine|LineBuilder|array|callable|string | |
$netPrice | Brick\Math\BigDecimal|int|float|string|null = null | |
$quantity | Brick\Math\BigDecimal|int|float|string|null = null | |
$unit | UnitCode|RawCode|string|null = null | |
$vat | TaxPreset|VatCategory|null = null | |
$description | ?string = null | |
$priceInclVat | Brick\Math\BigDecimal|int|float|string|null = null |
- Returns
static
orderConfirmation()#
public static function orderConfirmation(): staticAn order confirmation (Auftragsbestätigung), e.g. with reference() to the quote.
- Returns
static
package()#
public function package(Package $package): staticAdds a package of a delivery note.
| Parameter | Type | Description |
|---|---|---|
$package | Package |
- Returns
static
paymentReminder()#
public static function paymentReminder(int $level = 0): static| Parameter | Type | Description |
|---|---|---|
$level | int = 0 | 0 = payment reminder (Zahlungserinnerung), 1 = first formal reminder (1. Mahnung), 2 = second … |
- Returns
static
paymentTerms()#
public function paymentTerms(PaymentTerms|string|callable $terms): static| Parameter | Type | Description |
|---|---|---|
$terms | PaymentTerms|string|callable |
- Returns
static
presentation()#
public function presentation(Presentation|array|callable $presentation): staticDesign of this document, see InvoiceBuilder::presentation().
| Parameter | Type | Description |
|---|---|---|
$presentation | Presentation|array|callable |
- Returns
static
proforma()#
public static function proforma(): staticA proforma invoice: looks like an invoice, but is not one for tax purposes.
- Returns
static
purchaseOrderReference()#
public function purchaseOrderReference(?string $reference): staticThe buyer's purchase order reference; null removes it.
| Parameter | Type | Description |
|---|---|---|
$reference | ?string |
- Returns
static
quote()#
public static function quote(): staticA quote (Angebot): lines, optional and alternative lines, validUntil().
- Returns
static
reference()#
public function reference(
string $number,
Date|DateTimeInterface|string|null $date = null,
): staticPreceding document, e.g. the quote of an order confirmation or the order of a delivery note.
| Parameter | Type | Description |
|---|---|---|
$number | string | |
$date | Date|DateTimeInterface|string|null = null |
- Returns
static
seller()#
public function seller(SellerParty|PartyBuilder|ProvidesParty|callable $seller): static| Parameter | Type | Description |
|---|---|---|
$seller | SellerParty|PartyBuilder|ProvidesParty|callable |
- Returns
static
serialisedLine()#
public function serialisedLine(
InvoiceLine|LineBuilder|array|callable|string $line,
list<string> $serialNumbers,
BigDecimal|int|float|string|null $netPrice = null,
BigDecimal|int|float|string|null $quantity = null,
UnitCode|RawCode|string|null $unit = null,
TaxPreset|VatCategory|null $vat = null,
?string $description = null,
BigDecimal|int|float|string|null $priceInclVat = null,
): staticDelivery note line with serial numbers.
| Parameter | Type | Description |
|---|---|---|
$line | InvoiceLine|LineBuilder|array|callable|string | |
$serialNumbers | list<string> | |
$netPrice | Brick\Math\BigDecimal|int|float|string|null = null | |
$quantity | Brick\Math\BigDecimal|int|float|string|null = null | |
$unit | UnitCode|RawCode|string|null = null | |
$vat | TaxPreset|VatCategory|null = null | |
$description | ?string = null | |
$priceInclVat | Brick\Math\BigDecimal|int|float|string|null = null |
- Returns
static
statementPeriod()#
public function statementPeriod(
Date|DateTimeInterface|string $start,
Date|DateTimeInterface|string $end,
): staticPeriod of an account statement.
| Parameter | Type | Description |
|---|---|---|
$start | Date|DateTimeInterface|string | |
$end | Date|DateTimeInterface|string |
- Returns
static
tap()#
public function tap(callable $callback): staticDirect access to the underlying invoice builder for everything not wrapped here.
| Parameter | Type | Description |
|---|---|---|
$callback | callable |
- Returns
static
validUntil()#
public function validUntil(Date|DateTimeInterface|string $date): staticDate until which a quote is valid.
| Parameter | Type | Description |
|---|---|---|
$date | Date|DateTimeInterface|string |
- Returns
static