Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
7 Risposte
11265 Visualizzazioni

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?

Avatar
Abbandona
Autore

Note that I want to retrieve invoices in PDF format

Risposta migliore

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).

Avatar
Abbandona

Do you have a working code example please?

Unfortunately, no :-/

Risposta migliore

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);

?>

Avatar
Abbandona
Risposta migliore

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..

Avatar
Abbandona
Risposta migliore

Hello


Did you manage to have it working


Would you mind sharing


Thanks

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
dic 19
3320
1
gen 25
5339
1
nov 23
4863
1
mar 23
6385
2
dic 19
16745