diff --git a/addons/report/data/report_paperformat.xml b/addons/report/data/report_paperformat.xml
index 6b37c07d3b0..275d65edd13 100644
--- a/addons/report/data/report_paperformat.xml
+++ b/addons/report/data/report_paperformat.xml
@@ -32,9 +32,5 @@
35
90
-
-
-
-
-
\ No newline at end of file
+
diff --git a/addons/report/models/report_paperformat.py b/addons/report/models/report_paperformat.py
index 6b84f3d3363..41a5e0a9950 100644
--- a/addons/report/models/report_paperformat.py
+++ b/addons/report/models/report_paperformat.py
@@ -19,6 +19,9 @@
#
##############################################################################
+from functools import partial
+
+from openerp import SUPERUSER_ID
from openerp.osv import osv, fields
@@ -114,6 +117,24 @@ class res_company(osv.Model):
_columns = {'paperformat_id': fields.many2one('report.paperformat', 'Paper format')}
+ def init(self, cr):
+ # set a default paperformat based on rml one.
+ ref = partial(self.pool['ir.model.data'].xmlid_to_res_id, cr, SUPERUSER_ID)
+
+ ids = self.search(cr, SUPERUSER_ID, [('paperformat_id', '=', False)])
+ for company in self.browse(cr, SUPERUSER_ID, ids):
+ paperformat_id = {
+ 'a4': ref('report.paperformat_euro'),
+ 'us_letter': ref('report.paperformat_us'),
+ }.get(company.rml_paper_format) or ref('report.paperformat_euro')
+
+ if paperformat_id:
+ company.write({'paperformat_id': paperformat_id})
+
+ sup = super(res_company, self)
+ if hasattr(sup, 'init'):
+ sup.init(cr)
+
class ir_actions_report(osv.Model):
_inherit = 'ir.actions.report.xml'