1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-15 15:42:51 +01:00
invoiceninja/app/Services/EDocument/Gateway/Storecove/Models/Invoice.php

285 lines
5.5 KiB
PHP
Raw Normal View History

2024-10-23 04:00:25 +02:00
<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
2024-10-23 04:00:25 +02:00
namespace App\Services\EDocument\Gateway\Storecove\Models;
2024-10-25 08:51:01 +02:00
use Symfony\Component\Serializer\Annotation\SerializedName;
use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
use Symfony\Component\Serializer\Attribute\Context;
2024-10-25 08:51:01 +02:00
class Invoice
2024-10-23 04:00:25 +02:00
{
public string $taxSystem = 'tax_line_percentages';
2024-10-25 08:51:01 +02:00
public string $documentCurrency = '';
2024-10-25 08:51:01 +02:00
public string $invoiceNumber = '';
2024-10-25 08:51:01 +02:00
public string $issueDate = '';
2024-10-25 08:51:01 +02:00
public string $taxPointDate = '';
2024-10-25 08:51:01 +02:00
public string $dueDate = '';
2024-10-25 08:51:01 +02:00
public string $invoicePeriod = '';
2024-10-25 08:51:01 +02:00
public array $references = [];
2024-10-25 08:51:01 +02:00
public ?string $accountingCost = null;
2024-10-25 08:51:01 +02:00
public string $note = '';
2024-10-25 08:51:01 +02:00
public float $amountIncludingVat = 0.0;
2024-10-25 08:51:01 +02:00
public ?float $prepaidAmount = null;
2024-10-25 08:51:01 +02:00
2024-10-28 09:30:35 +01:00
public $accountingSupplierParty;
2024-10-25 08:51:01 +02:00
2024-10-28 09:30:35 +01:00
public $accountingCustomerParty;
2024-10-25 08:51:01 +02:00
2024-10-28 09:30:35 +01:00
public $paymentMeans = [];
2024-10-25 08:51:01 +02:00
2024-10-28 09:30:35 +01:00
public $taxTotal = [];
2024-10-23 04:00:25 +02:00
2024-10-28 09:30:35 +01:00
public $invoiceLines = [];
2024-10-25 08:51:01 +02:00
2024-10-28 09:30:35 +01:00
public function setDocumentCurrency(string $documentCurrency): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->documentCurrency = $documentCurrency;
2024-10-28 09:30:35 +01:00
return $this;
}
2024-10-25 08:51:01 +02:00
2024-10-28 09:30:35 +01:00
public function setInvoiceNumber(string $invoiceNumber): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->invoiceNumber = $invoiceNumber;
2024-10-28 09:30:35 +01:00
return $this;
}
2024-10-25 08:51:01 +02:00
2024-10-28 09:30:35 +01:00
public function setIssueDate($issueDate): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->issueDate = $issueDate;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setTaxPointDate($taxPointDate): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->taxPointDate = $taxPointDate;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setDueDate($dueDate): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->dueDate = $dueDate;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setInvoicePeriod($invoicePeriod): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->invoicePeriod = $invoicePeriod;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setReferences($references): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->references = $references;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function addReferences($reference): self
{
$this->references[] = $reference;
return $this;
}
public function setAccountingCost($accountingCost): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->accountingCost = $accountingCost;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setNote($note): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->note = $note;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setAmountIncludingVat ($amountIncludingVat): self
2024-10-25 08:51:01 +02:00
{
$this->amountIncludingVat = $amountIncludingVat;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setPrepaidAmount( $prepaidAmount): self
2024-10-25 08:51:01 +02:00
{
$this->prepaidAmount = $prepaidAmount;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setAccountingSupplierParty($accountingSupplierParty): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->accountingSupplierParty = $accountingSupplierParty;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setAccountingCustomerParty( $accountingCustomerParty): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->accountingCustomerParty = $accountingCustomerParty;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setPaymentMeans( $paymentMeans): self
2024-10-25 08:51:01 +02:00
{
$this->paymentMeans = $paymentMeans;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 13:30:30 +01:00
public function addPaymentMeans($paymentMeans): self
{
$this->paymentMeans[] = $paymentMeans;
return $this;
}
2024-10-28 09:30:35 +01:00
public function setTaxTotal( $taxTotal): self
2024-10-25 08:51:01 +02:00
{
$this->taxTotal = $taxTotal;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-25 08:51:01 +02:00
}
2024-10-28 09:30:35 +01:00
public function setInvoiceLines(array $invoiceLines): self
2024-10-25 08:51:01 +02:00
{
2024-10-23 04:00:25 +02:00
$this->invoiceLines = $invoiceLines;
2024-10-28 09:30:35 +01:00
return $this;
}
public function addInvoiceLines($invoiceLine): self
{
$this->invoiceLines[] = $invoiceLine;
return $this;
2024-10-25 08:51:01 +02:00
}
public function getInvoiceLines()
{
return $this->invoiceLines;
}
public function getTaxSystem(): string
{
return $this->taxSystem;
}
public function getDocumentCurrency(): string
{
return $this->documentCurrency;
}
public function getInvoiceNumber(): string
{
return $this->invoiceNumber;
}
public function getIssueDate(): string
{
return $this->issueDate;
}
public function getTaxPointDate(): string
{
return $this->taxPointDate;
}
public function getDueDate(): string
{
return $this->dueDate;
}
public function getInvoicePeriod(): string
{
return $this->invoicePeriod;
}
public function getReferences(): array
{
return $this->references;
}
public function getAccountingCost(): ?string
{
return $this->accountingCost;
}
public function getNote(): string
{
return $this->note;
}
public function getAmountIncludingVat(): float
{
return $this->amountIncludingVat;
}
public function getPrepaidAmount(): ?float
{
return $this->prepaidAmount;
}
public function getAccountingSupplierParty(): array
{
return $this->accountingSupplierParty;
}
public function getAccountingCustomerParty(): array
{
return $this->accountingCustomerParty;
}
public function getPaymentMeans(): array
{
return $this->paymentMeans;
}
public function getTaxTotal(): array
{
return $this->taxTotal;
}
2024-10-28 09:30:35 +01:00
public function setTaxSystem(string $taxSystem): self
{
$this->taxSystem = $taxSystem;
2024-10-28 09:30:35 +01:00
return $this;
2024-10-23 04:00:25 +02:00
}
}