Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
7 Odpowiedzi
10539 Widoki

Odoo version 10 and below had an API endpoint (/xmlrpc/2/report) for retrieving invoices.

This endpoint has been removed in Odoo 11 so is there another way to retrieve invoices programmatically?

Awatar
Odrzuć
Autor

Note that I want to retrieve invoices in PDF format

Najlepsza odpowiedź

I would try to use /xmlrpc/2/object with model `ir.actions.report` and method `render_qweb_pdf`. Bear in mind that you'll need a `ir.actions.report` record, because `render_qweb_pdf` isn't a "model method" (in OOP class method).

Awatar
Odrzuć

Do you have a working code example please?

Unfortunately, no :-/

Najlepsza odpowiedź

Hello,

It works for me with this script : 


<?php


$url = "url";
$db = "db";

$username = "username";
$password = "password";

if (function_exists('spl_autoload_register')) {
spl_autoload_register(function($classname){
$classfile = rtrim(__DIR__, '/') .'/'. str_replace('\\', '/', $classname) .'.php';

if (file_exists($classfile)){
require_once $classfile;
}
else {
echo $classname . ' => '. $classfile .'<br />';
exit('Une erreur est survenue...');
}
});
}

require_once('Ripcord/Ripcord.php');
$common = \Ripcord\Ripcord::client("$url/xmlrpc/2/common");
$uid = $common->authenticate($db, $username, $password, array());
$models = \Ripcord\Ripcord::client("$url/xmlrpc/2/object");

$invoice_ids = $models->execute_kw($db, $uid, $password, 'account.invoice', 'search', array(
array(
array('name', '=', '1')
)
));
$invoice_id = $invoice_ids[0];

$ctx = array('active_model' => 'account.invoice', 'active_id' => $invoice_id);
$token = $models->execute_kw($db, $uid, $password, 'portal.share', 'default_get', [[]], array('context' => $ctx))['share_link'];
$token = explode('access_token=', $token)[1];
$dl_url = "$url/my/invoices/$invoice_id?report_type=pdf&download=true&access_token=$token";
print_r($dl_url);

?>

Awatar
Odrzuć
Najlepsza odpowiedź

Anyone managed to get it to work? I also want to access the Invoice PDF using the Odoo 12 API. Any working PHP example would be very helpful!

Please help..

Awatar
Odrzuć
Najlepsza odpowiedź

Hello


Did you manage to have it working


Would you mind sharing


Thanks

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
gru 19
2810
1
sty 25
4340
1
lis 23
4311
1
mar 23
5793
2
gru 19
16001