Create invoices in XML Format.
This commit is contained in:
133
resources/views/xml/invoice.blade.php
Normal file
133
resources/views/xml/invoice.blade.php
Normal file
@@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Invoice
|
||||
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
|
||||
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
|
||||
xmlns:cec="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
|
||||
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
|
||||
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID>
|
||||
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
|
||||
<cbc:ID>{{ $invoice->number }}</cbc:ID>
|
||||
<cbc:IssueDate>{{ \Carbon\Carbon::parse($invoice->created_at)->format('Y-m-d') }}</cbc:IssueDate>
|
||||
<cbc:DueDate>{{ \Carbon\Carbon::parse($invoice->created_at)->addDays(14)->format('Y-m-d') }}</cbc:DueDate>
|
||||
<cbc:InvoiceTypeCode>{{ $invoice->type }}</cbc:InvoiceTypeCode>
|
||||
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
|
||||
<cbc:BuyerReference>0</cbc:BuyerReference>
|
||||
<cac:AccountingSupplierParty>
|
||||
<cac:Party>
|
||||
<cbc:EndpointID schemeID="EM">{{ $options->email }}</cbc:EndpointID>
|
||||
<cac:PartyIdentification>
|
||||
<cbc:ID>0</cbc:ID>
|
||||
</cac:PartyIdentification>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>{{ $options->company_name }}</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>{{ $options->address }}</cbc:StreetName>
|
||||
<cbc:CityName>{{ $options->city }}</cbc:CityName>
|
||||
<cbc:PostalZone>{{ $options->zip }}</cbc:PostalZone>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>DE</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
@if (isset ($options->UStID))
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID>{{ $options->UStID }}</cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID>VAT</cbc:ID>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
@endif
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID>{{ $options->tax_number }}</cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID>FC</cbc:ID>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:PartyLegalEntity>
|
||||
<cbc:RegistrationName>{{ $options->company_name }}</cbc:RegistrationName>
|
||||
</cac:PartyLegalEntity>
|
||||
<cac:Contact>
|
||||
<cbc:Name>{{ $options->representative }}</cbc:Name>
|
||||
<cbc:Telephone>{{ $options->phone }}</cbc:Telephone>
|
||||
<cbc:ElectronicMail>{{ $options->email }}</cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:AccountingSupplierParty>
|
||||
<cac:AccountingCustomerParty>
|
||||
<cac:Party>
|
||||
<cbc:EndpointID schemeID="EM">{{ $invoice->address->email }}</cbc:EndpointID>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>{{ $invoice->address->name }}</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>{{ $invoice->address->address }}</cbc:StreetName>
|
||||
<cbc:CityName>{{ $invoice->address->city }}</cbc:CityName>
|
||||
<cbc:PostalZone>{{ $invoice->address->zip }}</cbc:PostalZone>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>DE</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyLegalEntity>
|
||||
<cbc:RegistrationName>{{ $invoice->address->name }}</cbc:RegistrationName>
|
||||
</cac:PartyLegalEntity>
|
||||
</cac:Party>
|
||||
</cac:AccountingCustomerParty>
|
||||
<cac:PaymentMeans>
|
||||
<cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
|
||||
<cac:PayeeFinancialAccount>
|
||||
<cbc:ID>{{ str_replace(' ', '', $options->iban_1) }}</cbc:ID>
|
||||
<cbc:Name>{{ $options->representative }}</cbc:Name>
|
||||
<cac:FinancialInstitutionBranch>
|
||||
<cbc:ID>{{ $options->bic_1 }}</cbc:ID>
|
||||
</cac:FinancialInstitutionBranch>
|
||||
</cac:PayeeFinancialAccount>
|
||||
</cac:PaymentMeans>
|
||||
<cac:PaymentTerms>
|
||||
<cbc:Note>Zahlbar bis spätestens {{ \Carbon\Carbon::parse($invoice->created_at)->addDays(14)->format('d.m.Y') }}.</cbc:Note>
|
||||
</cac:PaymentTerms>
|
||||
<cac:TaxTotal>
|
||||
<cbc:TaxAmount currencyID="EUR">{{ $invoice->tax }}</cbc:TaxAmount>
|
||||
@foreach($taxes as $tax_rate => $tax)
|
||||
<cac:TaxSubtotal>
|
||||
<cbc:TaxableAmount currencyID="EUR">{{ $tax['taxable'] }}</cbc:TaxableAmount>
|
||||
<cbc:TaxAmount currencyID="EUR">{{ $tax['tax'] }}</cbc:TaxAmount>
|
||||
<cac:TaxCategory>
|
||||
<cbc:ID>S</cbc:ID>
|
||||
<cbc:Percent>{{ $tax_rate }}</cbc:Percent>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID>VAT</cbc:ID>
|
||||
</cac:TaxScheme>
|
||||
</cac:TaxCategory>
|
||||
</cac:TaxSubtotal>
|
||||
@endforeach
|
||||
</cac:TaxTotal>
|
||||
<cac:LegalMonetaryTotal>
|
||||
<cbc:LineExtensionAmount currencyID="EUR">{{ $invoice->sum - $invoice->tax }}</cbc:LineExtensionAmount>
|
||||
<cbc:TaxExclusiveAmount currencyID="EUR">{{ $invoice->sum - $invoice->tax }}</cbc:TaxExclusiveAmount>
|
||||
<cbc:TaxInclusiveAmount currencyID="EUR">{{ $invoice->sum }}</cbc:TaxInclusiveAmount>
|
||||
<cbc:AllowanceTotalAmount currencyID="EUR">0.00</cbc:AllowanceTotalAmount>
|
||||
<cbc:PrepaidAmount currencyID="EUR">0</cbc:PrepaidAmount>
|
||||
<cbc:PayableAmount currencyID="EUR">{{ $invoice->sum }}</cbc:PayableAmount>
|
||||
</cac:LegalMonetaryTotal>
|
||||
@foreach($invoice->items as $item)
|
||||
<cac:InvoiceLine>
|
||||
<cbc:ID>1</cbc:ID>
|
||||
<cbc:InvoicedQuantity unitCode="C62">{{ $item->amount }}</cbc:InvoicedQuantity>
|
||||
<cbc:LineExtensionAmount currencyID="EUR">{{ $item->amount * $item->price }}</cbc:LineExtensionAmount>
|
||||
<cac:Item>
|
||||
<cbc:Description>{{ $item->description }}</cbc:Description>
|
||||
<cbc:Name>{{ $item->name }}</cbc:Name>
|
||||
<cac:ClassifiedTaxCategory>
|
||||
<cbc:ID>S</cbc:ID>
|
||||
<cbc:Percent>{{ $item->tax }}</cbc:Percent>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID>VAT</cbc:ID>
|
||||
</cac:TaxScheme>
|
||||
</cac:ClassifiedTaxCategory>
|
||||
</cac:Item>
|
||||
<cac:Price>
|
||||
<cbc:PriceAmount currencyID="EUR">{{ $item->price }}</cbc:PriceAmount>
|
||||
</cac:Price>
|
||||
</cac:InvoiceLine>
|
||||
@endforeach
|
||||
</Invoice>
|
||||
Reference in New Issue
Block a user