diff --git a/addons/account/models/__init__.py b/addons/account/models/__init__.py
index f52625112da..ea94120355d 100644
--- a/addons/account/models/__init__.py
+++ b/addons/account/models/__init__.py
@@ -21,3 +21,4 @@ from . import reconciliation_widget
from . import account_incoterms
from . import digest
from . import res_users
+from . import ir_actions_report
diff --git a/addons/account/models/ir_actions_report.py b/addons/account/models/ir_actions_report.py
new file mode 100644
index 00000000000..a9df7eebb41
--- /dev/null
+++ b/addons/account/models/ir_actions_report.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, api, _
+from odoo.exceptions import UserError
+
+class IrActionsReport(models.Model):
+ _inherit = 'ir.actions.report'
+
+ @api.multi
+ def retrieve_attachment(self, record):
+ # get the original bills through the message_main_attachment_id field of the record
+ if self.report_name == 'account.report_original_vendor_bill' and record.message_main_attachment_id:
+ if record.message_main_attachment_id.mimetype == 'application/pdf' or \
+ record.message_main_attachment_id.mimetype.startswith('image'):
+ return record.message_main_attachment_id
+ return super(IrActionsReport, self).retrieve_attachment(record)
+
+ @api.multi
+ def _post_pdf(self, save_in_attachment, pdf_content=None, res_ids=None):
+ # don't include the generated dummy report
+ if self.report_name == 'account.report_original_vendor_bill':
+ pdf_content = None
+ res_ids = None
+ if not save_in_attachment:
+ raise UserError(_("No original vendor bills could be found for any of the selected vendor bills."))
+ return super(IrActionsReport, self)._post_pdf(save_in_attachment, pdf_content=pdf_content, res_ids=res_ids)
+
+ @api.multi
+ def postprocess_pdf_report(self, record, buffer):
+ # don't save the 'account.report_original_vendor_bill' report as it's just a mean to print existing attachments
+ if self.report_name == 'account.report_original_vendor_bill':
+ return None
+ return super(IrActionsReport, self).postprocess_pdf_report(record, buffer)
diff --git a/addons/account/views/account_report.xml b/addons/account/views/account_report.xml
index 9a8dc5c5c2a..6e5651dc8c7 100644
--- a/addons/account/views/account_report.xml
+++ b/addons/account/views/account_report.xml
@@ -14,6 +14,17 @@
groups="account.group_account_invoice"
/>
+
+
+
+
+
+
+
+
+
+
+