Projekt

Obecné

Profil

Stáhnout (5.8 KB) Statistiky
| Větev: | Tag: | Revize:
<?php
echo '<?xml version="' . $const['version'] . '" encoding="' . $const['encoding'] . '"?>';
echo '<dat:dataPack id="' . $const['id'] .
'" ico="' . $const['org_id'] .
'" application="' . $const['application'] .
'" version="' . $const['invoice_ver'] .
'" note="Imported from ' . $const['application'] .
'" xmlns:dat="' . $const['data_ns'] .
'" xmlns:inv="' . $const['invoice_ns'] .
'" xmlns:typ="' . $const['type_ns'] .
'" >';
?>

<?php
foreach ($invoices as $invoice) { ?>
<dat:dataPackItem <?php echo 'id="DP' . $invoice->invoice_nr . '" version="' . $const['invoice_ver'] . '" '?>>
<inv:invoice <?php echo 'version="' . $const['invoice_ver'] . '" '?>>
<inv:invoiceHeader>
<inv:invoiceType><?php echo $invoice->invoice_type ?
'receivedInvoice' :
'issuedInvoice' ?></inv:invoiceType>
<inv:number>
<typ:numberRequested><?php echo $invoice->invoice_nr ?></typ:numberRequested>
</inv:number>
<inv:symVar><?php if(!empty($invoice->var_sym))echo $invoice->var_sym; ?></inv:symVar>
<inv:date><?php echo $invoice->date_inv ?></inv:date>
<inv:dateTax><?php echo $invoice->date_vat ?></inv:dateTax>
<inv:dateDue><?php echo $invoice->date_due ?></inv:dateDue>
<inv:partnerIdentity>
<typ:address>
<typ:company><?php echo $invoice->company ?></typ:company>
<typ:name><?php echo $invoice->partner ?></typ:name>
<typ:city><?php echo $invoice->town ?></typ:city>
<typ:street><?php echo address::street_join($invoice->street, $invoice->street_number) ?></typ:street>
<typ:zip><?php echo $invoice->zip_code ?></typ:zip>
<typ:ico><?php echo $invoice->organization_identifier ?></typ:ico>
<typ:country>
<typ:ids><?php echo $invoice->country ?></typ:ids>
</typ:country>
<typ:phone><?php echo $invoice->phone ?></typ:phone>
<typ:email><?php echo $invoice->email ?></typ:email>
</typ:address>
</inv:partnerIdentity>
<inv:numberOrder><?php if(!empty($invoice->order_nr)) echo $invoice->order_nr; ?></inv:numberOrder>
<inv:symConst><?php if(!empty($invoice->con_sym)) echo $invoice->con_sym; ?></inv:symConst>
<?php
$account_nr = null;
$bank_code = null;
if (!empty($invoice->account_nr)) {
@list($account_nr, $bank_code) =
explode('/', $invoice->account_nr);
?>
<inv:account>
<typ:accountNo><?php echo $account_nr ?></typ:accountNo>
<typ:bankCode><?php echo $bank_code ?></typ:bankCode>
</inv:account>
<?php } ?>
<inv:note><?php echo $invoice->note ?></inv:note>
</inv:invoiceHeader>
<inv:invoiceDetail>
<?php
$price_none = 0;
$price_low = 0;
$price_low_vat = 0;
$price_high = 0;
$price_high_vat = 0;
$foreign_curr = $invoice->currency != $const['currency'];
$invoice_item_model = new Invoice_item_Model();
$invoice_items = $invoice_item_model->get_items_of_invoice($invoice->id);
$item_price = 0;
$item_price_vat = 0;
$vat_rate = 0;
foreach ($invoice_items as $item) {
$item_price = $item->quantity * $item->price;
$item_price_vat = $item->quantity * $item->price * (1 + $item->vat); ?>
<inv:invoiceItem>
<inv:text><?php echo $item->name ?></inv:text>
<inv:quantity><?php echo $item->quantity ?></inv:quantity>
<?php $vat_value = intval($item->vat * 1000);
if (array_key_exists($vat_value, $vat_var['export'])) {
$vat_rate = $vat_var['export'][$vat_value];
switch ($vat_rate) {
case 'low':
$price_low += $item_price;
$price_low_vat += $item_price_vat;
break;
case 'high':
$price_high += $item_price;
$price_high_vat += $item_price_vat;
break;
default:
$price_none += $item_price;
break;
} ?>
<inv:rateVAT><?php echo $vat_rate ?></inv:rateVAT>
<?php } else {?>
<inv:percentVAT><?php echo $item->vat * 100 ?></inv:percentVAT>
<?php }
if ($foreign_curr) {?>
<inv:foreignCurrency>
<?php } else { ?>
<inv:homeCurrency>
<?php } ?>
<typ:unitPrice><?php echo round($item->price, 2) ?></typ:unitPrice>
<typ:price><?php echo round($item_price, 2) ?></typ:price>
<typ:priceVAT><?php echo round($item_price_vat - $item_price, 2) ?></typ:priceVAT>
<typ:priceSum><?php echo round($item_price_vat, 2) ?></typ:priceSum>
<?php if ($foreign_curr) {?>
</inv:foreignCurrency>
<?php } else { ?>
</inv:homeCurrency>
<?php } ?>
<inv:code><?php echo $item->code ?></inv:code>
</inv:invoiceItem>
<?php } ?>
</inv:invoiceDetail>
<inv:invoiceSummary>
<?php if ($foreign_curr) {?>
<inv:roundingDocument>none</inv:roundingDocument>
<inv:foreignCurrency>
<typ:currency>
<typ:ids><?php echo $invoice->currency ?></typ:ids>
</typ:currency>
<typ:priceSum><?php echo round($price_high_vat + $price_low_vat + $price_none, 2) ?></typ:priceSum>
</inv:foreignCurrency>
<?php } else { ?>
<inv:roundingDocument>math2one</inv:roundingDocument>
<inv:homeCurrency>
<typ:priceNone><?php echo round($price_none, 2) ?></typ:priceNone>
<typ:priceLow><?php echo round($price_low, 2) ?></typ:priceLow>
<typ:priceLowVAT><?php echo round($price_low_vat - $price_low , 2) ?></typ:priceLowVAT>
<typ:priceLowSum><?php echo round($price_low_vat, 2) ?></typ:priceLowSum>
<typ:priceHigh><?php echo round($price_high, 2) ?></typ:priceHigh>
<typ:priceHighVAT><?php echo round($price_high_vat - $price_high, 2) ?></typ:priceHighVAT>
<typ:priceHighSum><?php echo round($price_high_vat, 2) ?></typ:priceHighSum>
<typ:round>
<typ:priceRound><?php echo round(ceil($price_none + $price_low_vat + $price_high_vat) -
($price_none + $price_low_vat + $price_high_vat), 2) ?></typ:priceRound>
</typ:round>
</inv:homeCurrency>
<?php } ?>
</inv:invoiceSummary>
</inv:invoice>
</dat:dataPackItem>
<?php } ?>
</dat:dataPack>
(3-3/3)