Přeskočit na hlavní obsah
Výpis faktur na extranetu

Jak získat výpis faktur z extranetu

Lenka Haringerová avatar
Autor: Lenka Haringerová
Aktualizováno před více než 2 lety

Na našich stránkách lze v sekci věnované zákazníkům najít seznam faktur, které jsme vystavili. Zobrazujeme o nich základní informace, jako je číslo faktury, datum vystavení a také stav úhrady. Výslednou fakturu je možné stáhnout jako PDF soubor.

V následujícím návodu vám ukážeme postup, který umožní mít stejnou funkci na svých stránkách.

Stručný popis

Webový server se dotáže (s heslem) Flexi a vypíše všechny faktury, které jsou vystaveny na konkrétní DIČ. Předpokládáme, že při instalaci zajistíte ověření uživatele, zjištění správného DIČ a také vizuální integraci s vašimi webovými stránkami.

Na začátku tedy Flexi provede dotaz na adresu http://demo.flexibee.eu/c/demo/faktura-vydana/(dic=’CZ7002051235′).js ve formátu JSON a výsledná data zobrazí v tabulce. Když uživatel projeví zájem o PDF, přečteme data z adresy http://demo.flexibee.eu/c/demo/faktura-vydana/21.json.

Webová aplikace funguje jako proxy. Přistupující uživatel tedy nemusí mít účet ve Flexi.

Pro snazší práci doporučujeme použít knihovnu Httpful, která se postará o korektní složení CURL dotazů.

Detailní návod

Celý balík skriptů ke stažení faktury-extranet.zip:

Je potřeba vytvořit konfigurační soubor:

$host = "https://demo.flexibee.eu:443";
$firma = "demo";
$user = "winstrom";
$password = "winstrom";

Důležitá je část, která určuje DIČ firmy. Zde předpokládáme integraci s vašimi webovými stránkami, které zajistí identifikaci uživatele a načtení odpovídající firmy.


Nyní již přichází na řadu načtení přehledu faktur index.php:

<?php
include('httpful.phar');
include('config.php');

$evidence = 'faktura-vydana';
$limit = 30; // 0 = unlimited

$dic = '"CZ7002051235"';

$suffix = "/".$evidence."/(dic=".urlencode($dic).").json?order=datVyst@D&detail=detail&limit=".$limit;

$uri = $host.'/c/'.$firma.$suffix;

$response = \Httpful\Request::get($uri)
->authenticateWith($user, $password)
->send();

if($response->hasErrors())
{
echo '<html><body><h1 style="color:red">'.$response->body->winstrom->message.'</h1>';
die;
}
header('Content-Type: text/html; charset=utf-8');
?>
<html>
<head>
<title>Vystavené faktury</title>
</head>
<body>
<h1>Vystavené faktury</h1>

<?php if (!isset($response->body->winstrom->$evidence)): ?>
<p>Na Vaši firmu nebyla vystavena žádná faktura.</p>
<?php else: ?>


<table>
<thead>
<tr>
<th>Číslo faktury</th>
<th>Datum faktury</th>
<th>Částka</th>
<th>Stav</th>
</tr>
</thead>
<tbody>
<?php foreach($response->body->winstrom->$evidence as $faktura): ?>
<tr>
<td><a href="pdf.php?id=<?php echo $faktura->id; ?>"><?php echo $faktura->kod; ?></a></td>
<?php $date = new \DateTime($faktura->datVyst); ?>
<td><?php echo $date->format('d.m.Y'); ?></td>
<td style="text-align:right"><?php echo $faktura->sumCelkem; ?> Kč</td>
<td><?php echo ($faktura->stavUhrK == "") ? "<span style=\"color: red\">Neuhrazeno</span>" : "<span style=\"color: green\">".$faktura->{"stavUhrK@showAs"}." (dne ".$faktura->datUhr.")</span>"; ?> </td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>

Abychom uživateli umožnili zobrazení PDF verze faktury, vytvoříme ještě soubor pdf.php:

<?php
include('httpful.phar');
include('config.php');


$id = $_GET["id"];

$evidence = 'faktura-vydana';

$suffix = "/".$evidence."/".urlencode($id).".pdf";

$uri = $host.'/c/'.$firma.$suffix;

$response = \Httpful\Request::get($uri)
->authenticateWith($user, $password)
->send();

if($response->hasErrors())
{
echo '<html><body><h1 style="color:red">'.$response->body->winstrom->message.'</h1>';
die;
}
header("Content-Type: application/pdf");
header("Content-Disposition: inline; filename=\"faktura.pdf\" ");
echo $response->body;
?>

S rozhraním Flexi REST API můžete také exportovat fakturu jako ISDOC, zobrazovat ceník, objednávky a mnoho dalšího.

Výslednou aplikaci můžete vyzkoušet u nás, nebo ji stáhnout.

Dostali jste odpověď na svou otázku?