Merge lp:~vauxoo/openerp-venezuela-localization/ovl70-fb-rev2-kty into lp:openerp-venezuela-localization

Proposed by Katherine Zaoral (Vauxoo)
Status: Merged
Merged at revision: 844
Proposed branch: lp:~vauxoo/openerp-venezuela-localization/ovl70-fb-rev2-kty
Merge into: lp:openerp-venezuela-localization
Diff against target: 2313 lines (+984/-909)
8 files modified
l10n_ve_fiscal_book/__openerp__.py (+4/-1)
l10n_ve_fiscal_book/model/fiscal_book.py (+199/-170)
l10n_ve_fiscal_book/report/fiscal_book_purchase_report.rml (+287/-289)
l10n_ve_fiscal_book/report/fiscal_book_sale_report.rml (+364/-439)
l10n_ve_fiscal_book/security/fiscal_book_security.xml (+16/-0)
l10n_ve_fiscal_book/security/ir.model.access.csv (+16/-0)
l10n_ve_fiscal_book/view/fiscal_book.xml (+18/-10)
l10n_ve_fiscal_book/workflow/fb_workflow.xml (+80/-0)
To merge this branch: bzr merge lp:~vauxoo/openerp-venezuela-localization/ovl70-fb-rev2-kty
Reviewer Review Type Date Requested Status
hbto [Vauxoo] http://www.vauxoo.com Approve
Review via email: mp+165939@code.launchpad.net

Description of the change

[IMP] Fourth revision Fiscal Book.
- Add workflow and security.
- adapted to article 78 (group non tax payer and fiscal printer lines).
- unify and optimized update book process.
- finish verion of book reports.
- more presentable views.

To post a comment you must log in.
Revision history for this message
hbto [Vauxoo] http://www.vauxoo.com (humbertoarocha) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'l10n_ve_fiscal_book/__openerp__.py'
--- l10n_ve_fiscal_book/__openerp__.py 2013-04-30 19:55:43 +0000
+++ l10n_ve_fiscal_book/__openerp__.py 2013-05-27 21:01:40 +0000
@@ -59,7 +59,10 @@
59 "wizard/fiscal_book_wizard_view.xml",59 "wizard/fiscal_book_wizard_view.xml",
60 "view/adjustment_book.xml",60 "view/adjustment_book.xml",
61 "view/fiscal_book.xml",61 "view/fiscal_book.xml",
62 "report/fiscal_book_report.xml"62 "report/fiscal_book_report.xml",
63 "workflow/fb_workflow.xml",
64 "security/fiscal_book_security.xml",
65 "security/ir.model.access.csv"
63 ],66 ],
64 "active": False,67 "active": False,
65 "installable": True,68 "installable": True,
6669
=== modified file 'l10n_ve_fiscal_book/model/fiscal_book.py'
--- l10n_ve_fiscal_book/model/fiscal_book.py 2013-05-20 20:32:23 +0000
+++ l10n_ve_fiscal_book/model/fiscal_book.py 2013-05-27 21:01:40 +0000
@@ -194,8 +194,9 @@
194 help="Book's Fiscal Period",194 help="Book's Fiscal Period",
195 required=True),195 required=True),
196 'state': fields.selection([('draft', 'Getting Ready'),196 'state': fields.selection([('draft', 'Getting Ready'),
197 ('open', 'Approved by Manager'),197 ('confirmed', 'Approved by Manager'),
198 ('done', 'Seniat Submitted')],198 ('done', 'Seniat Submitted'),
199 ('cancel', 'Cancel')],
199 string='Status', required=True),200 string='Status', required=True),
200 'type': fields.selection([('sale', 'Sale Book'),201 'type': fields.selection([('sale', 'Sale Book'),
201 ('purchase', 'Purchase Book')],202 ('purchase', 'Purchase Book')],
@@ -595,13 +596,11 @@
595 taxes. """596 taxes. """
596 context = context or {}597 context = context or {}
597 for fb_brw in self.browse(cr, uid, ids, context=context):598 for fb_brw in self.browse(cr, uid, ids, context=context):
599 self.clear_book(cr, uid, [fb_brw.id], context=context)
598 self.update_book_invoices(cr, uid, fb_brw.id, context=context)600 self.update_book_invoices(cr, uid, fb_brw.id, context=context)
599 self.update_book_issue_invoices(cr, uid, fb_brw.id, context=context)601 self.update_book_issue_invoices(cr, uid, fb_brw.id, context=context)
600 self.update_book_wh_iva_lines(cr, uid, fb_brw.id, context=context)602 self.update_book_wh_iva_lines(cr, uid, fb_brw.id, context=context)
601 self.update_book_lines(cr, uid, fb_brw.id, context=context)603 self.update_book_lines(cr, uid, fb_brw.id, context=context)
602 if fb_brw.article_number in ['77', '78']:
603 self.update_book_ntp_lines(cr, uid, fb_brw.id, context=context)
604 self.order_book_lines(cr, uid, fb_brw.id, context=context)
605 return True604 return True
606605
607 def update_book_invoices(self, cr, uid, fb_id, context=None):606 def update_book_invoices(self, cr, uid, fb_id, context=None):
@@ -628,8 +627,8 @@
628 return True627 return True
629628
630 def _get_issue_invoice_ids(self, cr, uid, fb_id, context=None):629 def _get_issue_invoice_ids(self, cr, uid, fb_id, context=None):
631 """ It returns ids from not open or paid invoices regarding to the type and630 """ It returns ids from not open or paid invoices regarding to the type
632 period of the fiscal book order by date invoiced.631 and period of the fiscal book order by date invoiced.
633 @param fb_id: fiscal book id.632 @param fb_id: fiscal book id.
634 """633 """
635 context = context or {}634 context = context or {}
@@ -647,7 +646,6 @@
647 '&', '&', ('period_id', '=', fb_brw.period_id.id), ('type', 'in', inv_type),646 '&', '&', ('period_id', '=', fb_brw.period_id.id), ('type', 'in', inv_type),
648 ('state', 'not in', inv_state)],647 ('state', 'not in', inv_state)],
649 order='date_invoice asc', context=context)648 order='date_invoice asc', context=context)
650
651 return issue_inv_ids649 return issue_inv_ids
652650
653 def update_book_issue_invoices(self, cr, uid, fb_id, context=None):651 def update_book_issue_invoices(self, cr, uid, fb_id, context=None):
@@ -697,8 +695,15 @@
697 """695 """
698 context = context or {}696 context = context or {}
699 iwdl_obj = self.pool.get('account.wh.iva.line')697 iwdl_obj = self.pool.get('account.wh.iva.line')
698 fb_brw = self.browse(cr, uid, fb_id, context=context)
700 #~ Relate wh iva lines699 #~ Relate wh iva lines
701 iwdl_ids = self._get_wh_iva_line_ids(cr, uid, fb_id, context=context)700 iwdl_ids = self._get_wh_iva_line_ids(cr, uid, fb_id, context=context)
701
702 if fb_brw.type == "sale" \
703 and fb_brw.company_id.partner_id.wh_iva_agent and iwdl_ids:
704 raise osv.except_osv(_("Error!"),
705 _("You have withholdings registred but you are not a withholding agent"))
706
702 iwdl_obj.write(cr, uid, iwdl_ids, {'fb_id': fb_id}, context=context)707 iwdl_obj.write(cr, uid, iwdl_ids, {'fb_id': fb_id}, context=context)
703 #~ Unrelate wh iva lines (period book change, wh iva line have been708 #~ Unrelate wh iva lines (period book change, wh iva line have been
704 #~ cancel or have change its period)709 #~ cancel or have change its period)
@@ -711,12 +716,11 @@
711 return True716 return True
712717
713 def _get_book_taxes_ids(self, cr, uid, fb_id, context=None):718 def _get_book_taxes_ids(self, cr, uid, fb_id, context=None):
714 """ It returns account invoice taxes IDSs from the fiscal book719 """ It returns account invoice taxes IDs from the fiscal book
715 invoices.720 invoices.
716 @param fb_id: fiscal book id721 @param fb_id: fiscal book id
717 """722 """
718 context = context or {}723 context = context or {}
719 inv_obj = self.pool.get('account.invoice')
720 ait_ids = []724 ait_ids = []
721 for inv_brw in self.browse(cr, uid, fb_id,725 for inv_brw in self.browse(cr, uid, fb_id,
722 context=context).invoice_ids:726 context=context).invoice_ids:
@@ -724,18 +728,11 @@
724 return ait_ids728 return ait_ids
725729
726 def update_book_taxes(self, cr, uid, fb_id, context=None):730 def update_book_taxes(self, cr, uid, fb_id, context=None):
727 """ It relate/unrelate the invoices taxes from the period to the book.731 """ It relate the invoices taxes from the period to the book.
728 @param fb_id: fiscal book id732 @param fb_id: fiscal book id
729 """733 """
730 context = context or {}734 context = context or {}
731 fbt_obj = self.pool.get('fiscal.book.taxes')
732 fb_brw = self.browse(cr, uid, fb_id, context=context)
733 ait_ids = self._get_book_taxes_ids(cr, uid, fb_id, context=context)735 ait_ids = self._get_book_taxes_ids(cr, uid, fb_id, context=context)
734 fbt_ids = fbt_obj.search(cr, uid, [('fb_id', '=', fb_id)],
735 context=context)
736 #~ Unrelate taxes
737 fbt_obj.unlink(cr, uid, fbt_ids, context=context)
738 #~ Relate taxes
739 data = map(lambda x: (0, 0, {'ait_id': x}), ait_ids)736 data = map(lambda x: (0, 0, {'ait_id': x}), ait_ids)
740 self.write(cr, uid, fb_id, {'fbt_ids': data}, context=context)737 self.write(cr, uid, fb_id, {'fbt_ids': data}, context=context)
741 return True738 return True
@@ -786,31 +783,21 @@
786 @param fb_id: book id.783 @param fb_id: book id.
787 """784 """
788 context = context or {}785 context = context or {}
786 fbl_obj = self.pool.get('fiscal.book.line')
789 fb_brw = self.browse(cr, uid, fb_id, context=context)787 fb_brw = self.browse(cr, uid, fb_id, context=context)
790 fbl_obj = self.pool.get('fiscal.book.line')
791 fbl_ids = [line_brw.id for line_brw in fb_brw.fbl_ids]788 fbl_ids = [line_brw.id for line_brw in fb_brw.fbl_ids]
792 order_criteria = fb_brw.type == 'sale' \789 order_criteria = fb_brw.type == 'sale' \
793 and 'accounting_date asc, fiscal_printer asc, z_report asc, invoice_number asc' \790 and 'accounting_date asc, invoice_number asc' \
794 or 'emission_date asc, invoice_number asc'791 or 'emission_date asc, invoice_number asc'
795 ordered_fbl_ids = fbl_obj.search(cr, uid, [('id', 'in', fbl_ids)],792 ordered_fbl_ids = \
796 order=order_criteria, context=context)793 fbl_obj.search(cr, uid, [('id', 'in', fbl_ids)],
794 order=order_criteria, context=context)
797795
798 for rank, fbl_id in enumerate(ordered_fbl_ids, 1):796 for rank, fbl_id in enumerate(ordered_fbl_ids, 1):
799 fbl_obj.write(cr, uid, fbl_id, {'rank': rank}, context=context)797 fbl_obj.write(cr, uid, fbl_id, {'rank': rank}, context=context)
800798
801 ordered_ntp_ids = fbl_obj.browse(cr, uid, self.order_group_by_invoice_number(
802 cr, uid, [line_brw.id for line_brw in fb_brw.ntp_fbl_ids],
803 context=context), context=context)
804
805 for rank, line_brw in enumerate(ordered_ntp_ids, 1):
806 fbl_obj.write(cr, uid, line_brw.id,
807 {'rank': rank + (1000000 * line_brw.parent_id.rank)},
808 context=context)
809
810 return True799 return True
811800
812
813
814 def _get_no_match_date_iwdl_ids(self, cr, uid, fb_id, context=None):801 def _get_no_match_date_iwdl_ids(self, cr, uid, fb_id, context=None):
815 """ It returns a list of wh iva lines ids that have a invoice in the802 """ It returns a list of wh iva lines ids that have a invoice in the
816 same book period but where the invoice date_invoice is different from803 same book period but where the invoice date_invoice is different from
@@ -831,7 +818,8 @@
831 return res818 return res
832819
833 def update_book_lines(self, cr, uid, fb_id, context=None):820 def update_book_lines(self, cr, uid, fb_id, context=None):
834 """ It updates the fiscal book lines values.821 """ It updates the fiscal book lines values. Cretate, order and rank
822 the book lines. Creates the book taxes too acorring to lines created.
835 @param fb_id: fiscal book id823 @param fb_id: fiscal book id
836 """824 """
837 context = context or {}825 context = context or {}
@@ -840,10 +828,6 @@
840 iwdl_obj = self.pool.get('account.wh.iva.line')828 iwdl_obj = self.pool.get('account.wh.iva.line')
841 fbl_obj = self.pool.get('fiscal.book.line')829 fbl_obj = self.pool.get('fiscal.book.line')
842 fb_brw = self.browse(cr, uid, fb_id, context=context)830 fb_brw = self.browse(cr, uid, fb_id, context=context)
843 #~ delete book lines
844 fbl_ids = [fbl_brw.id for fbl_brw in self.browse(
845 cr, uid, fb_id, context=context).fbl_ids]
846 fbl_obj.unlink(cr, uid, fbl_ids, context=context)
847831
848 #~ add book lines for withholding iva lines832 #~ add book lines for withholding iva lines
849 if fb_brw.iwdl_ids:833 if fb_brw.iwdl_ids:
@@ -853,17 +837,20 @@
853 self._get_no_match_date_iwdl_ids(cr, uid, fb_id,837 self._get_no_match_date_iwdl_ids(cr, uid, fb_id,
854 context=context)838 context=context)
855 iwdl_ids = orphan_iwdl_ids + no_match_dt_iwdl_ids839 iwdl_ids = orphan_iwdl_ids + no_match_dt_iwdl_ids
840 t_type = fb_brw.type == 'sale' and 'tp' or 'do'
856 for iwdl_brw in iwdl_obj.browse(cr, uid, iwdl_ids,841 for iwdl_brw in iwdl_obj.browse(cr, uid, iwdl_ids,
857 context=context):842 context=context):
858 values = {843 values = {
859 'iwdl_id': iwdl_brw.id,844 'iwdl_id': iwdl_brw.id,
860 'rank': my_rank,845 'rank': my_rank,
846 'type': t_type,
861 'accounting_date': iwdl_brw.date_ret or False,847 'accounting_date': iwdl_brw.date_ret or False,
862 'emission_date': iwdl_brw.date or iwdl_brw.date_ret or False,848 'emission_date': iwdl_brw.date or iwdl_brw.date_ret or False,
863 'doc_type': self.get_doc_type(cr, uid, iwdl_id=iwdl_brw.id,849 'doc_type': self.get_doc_type(cr, uid, iwdl_id=iwdl_brw.id,
864 context=context),850 context=context),
865 'wh_number': iwdl_brw.retention_id.number or False,851 'wh_number': iwdl_brw.retention_id.number or False,
866 'partner_name': iwdl_brw.retention_id.partner_id.name or False,852 'partner_name': iwdl_brw.retention_id.partner_id.name or False,
853 'partner_vat': iwdl_brw.retention_id.partner_id.vat or False,
867 'affected_invoice': iwdl_brw.invoice_id.fiscal_printer854 'affected_invoice': iwdl_brw.invoice_id.fiscal_printer
868 and iwdl_brw.invoice_id.invoice_printer855 and iwdl_brw.invoice_id.invoice_printer
869 or (fb_brw.type == 'sale'856 or (fb_brw.type == 'sale'
@@ -903,7 +890,7 @@
903 'credit_affected': inv_brw.parent_id and \890 'credit_affected': inv_brw.parent_id and \
904 inv_brw.parent_id.type in ['in_refund', 'out_refund'] \891 inv_brw.parent_id.type in ['in_refund', 'out_refund'] \
905 and inv_brw.parent_id.number or False,892 and inv_brw.parent_id.number or False,
906 'ctrl_number': inv_brw.nro_ctrl or False,893 'ctrl_number': not inv_brw.fiscal_printer and inv_brw.nro_ctrl or False,
907 'affected_invoice': (doc_type == "N/DE" or doc_type == "N/CR") \894 'affected_invoice': (doc_type == "N/DE" or doc_type == "N/CR") \
908 and (inv_brw.parent_id and inv_brw.parent_id.number or False) \895 and (inv_brw.parent_id and inv_brw.parent_id.number or False) \
909 or False,896 or False,
@@ -936,39 +923,51 @@
936 self.write(cr, uid, fb_id, {'fbl_ids': data}, context=context)923 self.write(cr, uid, fb_id, {'fbl_ids': data}, context=context)
937 self.link_book_lines_and_taxes(cr, uid, fb_id, context=context)924 self.link_book_lines_and_taxes(cr, uid, fb_id, context=context)
938925
926 if fb_brw.article_number in ['77', '78']:
927 self.update_book_ntp_lines(cr, uid, fb_brw.id, context=context)
928 else:
929 self.order_book_lines(cr, uid, fb_brw.id, context=context)
930
939 return True931 return True
940932
941 def get_grouped_lines_ids(self, cr, uid, fbl_groups_list, order_field, context=None):933 def get_grouped_consecutive_lines_ids(self, cr, uid, lines_ids, context=None):
942 """ Extract book lines ids groups according to the given citeria.934 """ Return a list of tuples that represent every line in the book.
943 @param fbl_groups_list: list of book lines ids.935 If there is a group of consecutive no tax payer with fiscal printer
944 @param order_field: order criteria (emission_date, accounting_date),936 billing lines, it will return a unique tuple that holds the information
945 fiscal_printer, z_report.937 of the lines. The return tutple has this format
938 ('invoice_number'[0], 'invoice_number'[-1], [line_brw])
939 - 'invoice_number'[0]: invoice number of the first line in the
940 group
941 - 'invoice_number'[-1]: invoice number of the last line in the
942 group
943 - [line_brw] list o browse records that weel be into the line.
944 @param line_ids: list of book lines ids.
946 """945 """
947 context = context or {}946 context = context or {}
948 fbl_obj = self.pool.get('fiscal.book.line')947 lines_brws = self.pool.get('fiscal.book.line').browse(
949 groups_list = list()948 cr, uid, lines_ids, context=context)
950 no_group_list = list()949 res = list()
951950 group_list = list()
952 for group_ids in fbl_groups_list:951 group_value = False
953 group_brw = fbl_obj.browse(cr, uid, group_ids, context=context)952
954 #~ extract set of values for the order condition953 for line_brw in lines_brws:
955 group_values = list(set([ getattr(line_brw, order_field)954 group_value = group_value or line_brw.type
956 for line_brw in group_brw ]))955 if line_brw.type == group_value and group_value == 'ntp' \
957 #~ initializing storable group variable.956 and line_brw.fiscal_printer:
958 group_dict = {}.fromkeys(group_values)957 group_list.append(line_brw)
959 for value in group_dict.keys():958 else:
960 group_dict[value] = list()959 if group_list:
961 #~ separating items to the corresponding sub group.960 res.append( (group_list[0].invoice_number, group_list[-1].invoice_number, group_value, group_list) )
962 for line_brw in group_brw:961 group_value = line_brw.type
963 group_dict[getattr(line_brw, order_field)].append(line_brw.id)962 group_list = [line_brw]
964
965 for value in group_dict.keys():
966 if len(group_dict[value]) > 1:
967 groups_list.append(group_dict[value])
968 else:963 else:
969 no_group_list.extend(group_dict[value])964 res.append( (line_brw.invoice_number, line_brw.invoice_number, group_value, [line_brw]) )
970965 group_value = False
971 return groups_list, no_group_list966
967 if group_list:
968 res.append( (group_list[0].invoice_number, group_list[-1].invoice_number, group_value, group_list) )
969
970 return res
972971
973 def update_book_ntp_lines(self, cr, uid, fb_id, context=None):972 def update_book_ntp_lines(self, cr, uid, fb_id, context=None):
974 """ It consolidate no tax payer book lines into one line considering973 """ It consolidate no tax payer book lines into one line considering
@@ -981,74 +980,122 @@
981 fbl_obj = self.pool.get('fiscal.book.line')980 fbl_obj = self.pool.get('fiscal.book.line')
982 fb_brw = self.browse(cr, uid, fb_id, context=context)981 fb_brw = self.browse(cr, uid, fb_id, context=context)
983982
984 #~ delete old ntp book lines983 #~ separating groups
985 ntp_fbl_ids = [fbl_brw.id for fbl_brw in self.browse(984 lines_brws = fb_brw.fbl_ids
986 cr, uid, fb_id, context=context).ntp_fbl_ids]985 order_dict = dict()
987 fbl_obj.unlink(cr, uid, ntp_fbl_ids, context=context)986 date_values = list(set([ line_brw.emission_date for line_brw in lines_brws ]))
988987 date_values.sort()
989 #~ extracting mather ntp lines988 order_dict = {}.fromkeys(date_values)
990 ntp_lines = [ fbl_brw.id for fbl_brw in fb_brw.fbl_ids989 for date in date_values:
991 if fbl_brw.type == 'ntp' and fbl_brw.fiscal_printer]990 date_records = [ line_brw
992 no_group_list = list()991 for line_brw in lines_brws
993 groups_list = [[ fbl_id for fbl_id in ntp_lines ]]992 if line_brw.emission_date == date ]
994993 printers_values = list(set( [ line_brw.fiscal_printer for line_brw in date_records ] ))
995 #~ define book groups cirteria994 printers_values.sort()
996 #~ TODO: Be carefull with de date criteria order.995 order_dict[date] = {}.fromkeys(printers_values)
997 order_criteria = ['emission_date', 'fiscal_printer', 'z_report']996 for printer in printers_values:
998997 printer_records = [ line_brw
999 for criteria in order_criteria:998 for line_brw in date_records
1000 groups_list, tmp_no_group_list = \999 if line_brw.fiscal_printer == printer ]
1001 self.get_grouped_lines_ids(cr, uid, groups_list, criteria,1000 z_report_values = list(set( [ line_brw.z_report for line_brw in printer_records ] ))
1002 context=context)1001 z_report_values.sort()
1003 no_group_list.extend(tmp_no_group_list) 1002 order_dict[date][printer] = {}.fromkeys(z_report_values)
1004 #~ print criteria, groups_list, 'no group', no_group_list1003 for z_report in z_report_values:
10051004 #~ this records needs to be order by invoice number
1006 #~ print 'no_group_list:', no_group_list 1005 z_records = \
1007 #~ print 'groups_list:', groups_list1006 [ (line_brw.invoice_number, line_brw)
10081007 for line_brw in printer_records
1009 groups_list = \1008 if line_brw.z_report == z_report ]
1010 [ self.order_group_by_invoice_number(cr, uid, group_ids, context=context)1009 z_records.sort()
1011 for group_ids in groups_list ]1010 z_records = [ item[1] for item in z_records]
10121011 #~ group by type of line
1013 # re-write no group lines (set partner name and vat).1012 order_dict[date][printer][z_report] = \
1014 if no_group_list:1013 self.get_grouped_consecutive_lines_ids(
1015 fbl_obj.write(cr, uid, no_group_list,1014 cr, uid, [ item.id for item in z_records],
1016 {'partner_name': 'No Contribuyente',1015 context=context)
1017 'partner_vat': False}, context=context)1016
10181017 #~ import pprint
1019 # re-write group info.1018 #~ print 'order_dict'
1020 for group_ids in groups_list:1019 #~ pprint.pprint(order_dict)
1020
1021 # agruping and ranking
1022 rank = 1
1023 #~ order_dict[date][printer][z_report] = [ ('desde', 'hasta', 'tipot', list(line_brws)) ]
1024 ntp_groups_list = list() # format [ ( rank, invoice_number, [line_brws] ) ]
1025 ntp_no_group_list = list() # format [ ( rank, [line_brws] ) ]
1026 order_no_group_list = list() # format [ ( rank, line_id ) ]
1027
1028 order_dates = order_dict.keys()
1029 order_dates.sort()
1030 for date in order_dates:
1031 order_printers = order_dict[date].keys()
1032 order_printers.sort()
1033 for printer in order_printers:
1034 order_z_reports = order_dict[date][printer].keys()
1035 order_z_reports.sort()
1036 for z_report in order_z_reports:
1037 for line in order_dict[date][printer][z_report]:
1038 if line[2] == 'ntp':
1039 if line[0] == line[1] and len(line[3]) == 1:
1040 ntp_no_group_list.append(
1041 (rank, line[3][0].id))
1042 elif line[0] != line[1] and len(line[3]) > 1:
1043 ntp_groups_list.append(
1044 (rank,
1045 'Desde: '+line[0]+' ... Hasta: '+line[1],
1046 line[3]))
1047 else:
1048 raise osv.except_osv(_("Error!"), _("This is a no valid line. Be sure you have two or more invoices with the same invoice number"))
1049 elif line[2] != 'ntp':
1050 order_no_group_list.append(
1051 (rank, line[3][0].id))
1052 rank+= 1
1053
1054 #~ import pprint
1055 #~ print '\n ntp_no_group_list'
1056 #~ pprint.pprint(ntp_no_group_list)
1057 #~ print '\n ntp_groups_list'
1058 #~ pprint.pprint(ntp_groups_list)
1059 #~ print '\n order_no_group_list'
1060 #~ pprint.pprint(order_no_group_list)
1061
1062 #~ # rank lines that have nothing to do with ntp.
1063 for line in order_no_group_list:
1064 fbl_obj.write(cr, uid, line[1], {'rank': line[0]}, context=context)
1065
1066 #~ # rank ntp individual lines.
1067 for line in ntp_no_group_list:
1068 fbl_obj.write(
1069 cr, uid, line[1],
1070 {'rank': line[0],
1071 'partner_name': 'No Contribuyente',
1072 'partner_vat': False},
1073 context=context)
1074
1075 #~ create consolidate line using ntp_groups_list list, move group lines
1076 #~ to no tax payer lines detail.
1077 for line_tuple in ntp_groups_list:
1021 consolidate_line_id = \1078 consolidate_line_id = \
1022 self.create_consolidate_line(cr, uid, fb_id, group_ids,1079 self.create_consolidate_line(cr, uid, fb_id, line_tuple,
1023 context=context)1080 context=context)
1081 for rank, line_brw in enumerate(line_tuple[-1], 1):
1082 fbl_obj.write(
1083 cr, uid, line_brw.id,
1084 {'fb_id': False,
1085 'ntp_fb_id': fb_id,
1086 'parent_id': consolidate_line_id,
1087 'rank': -1 },
1088 context=context)
10241089
1025 # move group lines to no tax payer lines.
1026 fbl_obj.write(cr, uid, group_ids,
1027 {'fb_id': False,
1028 'ntp_fb_id': fb_id,
1029 'parent_id': consolidate_line_id },
1030 context=context)
1031 return True1090 return True
10321091
1033 def order_group_by_invoice_number(self, cr, uid, group_ids, context=None):1092 def create_consolidate_line(self, cr, uid, fb_id, line_tuple, context=None):
1034 """ Return a list of order group items by asc invoice number.1093 """ Create a new consolidate no tax payer line for a group of no tax
1035 @param group_ids: ids of the item that are in a same group
1036 """
1037 context = context or {}
1038 fbl_obj = self.pool.get('fiscal.book.line')
1039 group_brws = fbl_obj.browse(cr, uid, group_ids, context=context)
1040 ordered_inv_nums = [ item.invoice_number for item in group_brws ]
1041 ordered_inv_nums.sort()
1042 return [ item.id
1043 for number in ordered_inv_nums
1044 for item in group_brws
1045 if item.invoice_number == number ]
1046
1047 def create_consolidate_line(self, cr, uid, fb_id, group_ids, context=None):
1048 """ Create a New consolidate no tax payer line for a group of no tax
1049 payer operations.1094 payer operations.
1050 @param fb_id: fiscal book line id.1095 @param fb_id: fiscal book line id.
1051 @param group_ids: lines ids to be consolidated.1096 @param line_tuple: tuple with the information for construct the
1097 consolidate line (rank, [brws]).
1098 # format [ ( rank, invoice_number, [line_brws] ) ]
1052 """1099 """
1053 context = context or {}1100 context = context or {}
1054 fbl_obj = self.pool.get('fiscal.book.line')1101 fbl_obj = self.pool.get('fiscal.book.line')
@@ -1057,33 +1104,28 @@
1057 'vat_general_base', 'vat_general_tax',1104 'vat_general_base', 'vat_general_tax',
1058 'vat_additional_base', 'vat_additional_tax']1105 'vat_additional_base', 'vat_additional_tax']
10591106
1060 group_brws = fbl_obj.browse(cr, uid, group_ids, context=context)1107 rank, invoice_number, child_brws = line_tuple
1061 first_item_brw = fbl_obj.browse(cr, uid, group_ids[0], context=context)1108 child_ids = [ line_brw.id for line_brw in child_brws ]
1062 last_item_brw = fbl_obj.browse(cr, uid, group_ids[-1:], context=context)[0]1109 first_item_brw = fbl_obj.browse(cr, uid, child_brws[0].id,
1110 context=context)
1063 # fill common value1111 # fill common value
1064 values = {1112 values = {
1113 'rank': rank,
1114 'invoice_number': invoice_number,
1115 'child_ids': [(6, 0, child_ids)],
1065 'fb_id': first_item_brw.fb_id.id,1116 'fb_id': first_item_brw.fb_id.id,
1066 'invoice_id': False,1117 'partner_name': 'No Contribuyente',
1067 'parent_id': False,
1068 'child_ids': [(6, 0, group_ids)],
1069 'rank': first_item_brw.id,
1070 'emission_date': first_item_brw.emission_date,1118 'emission_date': first_item_brw.emission_date,
1071 'accounting_date': first_item_brw.accounting_date,1119 'accounting_date': first_item_brw.accounting_date,
1072 'doc_type': first_item_brw.doc_type,1120 'doc_type': first_item_brw.doc_type,
1073 'partner_name': 'No Contribuyente',
1074 'partner_vat': False,
1075 'invoice_number': 'Desde: ' \
1076 + str(first_item_brw.invoice_number) \
1077 + ' ... Hasta: ' + str(last_item_brw.invoice_number),
1078 'debit_affected': False,
1079 'credit_affected': False,
1080 'type': first_item_brw.type,1121 'type': first_item_brw.type,
1081 'fiscal_printer': first_item_brw.fiscal_printer,1122 'fiscal_printer': first_item_brw.fiscal_printer,
1082 'z_report': first_item_brw.z_report,1123 'z_report': first_item_brw.z_report,
1083 }1124 }
1084 # fill totalization values1125 # fill totalization values
1085 for col in float_colums:1126 for col in float_colums:
1086 values[col] = sum([ getattr(brw, col) for brw in group_brws ])1127 values[col] = \
1128 sum([ getattr(line_brw, col) for line_brw in child_brws ])
10871129
1088 return fbl_obj.create(cr, uid, values, context=context)1130 return fbl_obj.create(cr, uid, values, context=context)
10891131
@@ -1202,6 +1244,9 @@
1202 sum( [ data[optype + '_' + ttax + "_vat_base_sum"]1244 sum( [ data[optype + '_' + ttax + "_vat_base_sum"]
1203 for ttax in ["general", "additional", "reduced"] ] )1245 for ttax in ["general", "additional", "reduced"] ] )
12041246
1247 data['imex_vat_base_sum'] += \
1248 data['imex_exempt_vat_sum'] + data['imex_sdcf_vat_sum']
1249
1205 #~ sale book domestic fields transformations (ntp and tp sums)1250 #~ sale book domestic fields transformations (ntp and tp sums)
1206 if fb_brw.type == 'sale':1251 if fb_brw.type == 'sale':
12071252
@@ -1294,44 +1339,31 @@
1294 book line and update the fields of sum taxes in the book.1339 book line and update the fields of sum taxes in the book.
1295 @param fb_id: the id of the current fiscal book """1340 @param fb_id: the id of the current fiscal book """
1296 context = context or {}1341 context = context or {}
1297 fbt_obj = self.pool.get('fiscal.book.taxes')
1298 fbl_obj = self.pool.get('fiscal.book.line')1342 fbl_obj = self.pool.get('fiscal.book.line')
1299 #~ delete book taxes
1300 fbt_ids = fbt_obj.search(cr, uid, [('fb_id', '=', fb_id)],
1301 context=context)
1302 fbt_obj.unlink(cr, uid, fbt_ids, context=context)
1303 #~ write book taxes1343 #~ write book taxes
1304 data = []1344 data = []
1305 for fbl in self.browse(cr, uid, fb_id, context=context).fbl_ids:1345 for fbl in self.browse(cr, uid, fb_id, context=context).fbl_ids:
1306 if fbl.invoice_id:1346 if fbl.invoice_id:
1307 total_w_iva_amount = fbl.invoice_id.amount_untaxed1347 amount_field_data = \
1308 sdcf_tax_amount = exent_tax_amount = amount_withheld = 0.01348 { 'total_with_iva': fbl.invoice_id.amount_untaxed,
1349 'vat_sdcf': 0.0, 'vat_exempt': 0.0 }
1309 taxes = fbl.type in ['im','ex'] \1350 taxes = fbl.type in ['im','ex'] \
1310 and fbl.invoice_id.imex_tax_line \1351 and fbl.invoice_id.imex_tax_line \
1311 or fbl.invoice_id.tax_line1352 or fbl.invoice_id.tax_line
1312 for ait in taxes:1353 for ait in taxes:
1313 if ait.tax_id:1354 if ait.tax_id:
1314 data.append((0, 0, {'fb_id': fb_id,1355 data.append((0, 0, {'fb_id': fb_id,
1315 'fbl_id': fbl.id,1356 'fbl_id': fbl.id,
1316 'ait_id': ait.id}))1357 'ait_id': ait.id}))
13171358 amount_field_data['total_with_iva'] += ait.tax_amount
1318 total_w_iva_amount += ait.tax_amount
1319 if ait.tax_id.appl_type == 'sdcf':1359 if ait.tax_id.appl_type == 'sdcf':
1320 sdcf_tax_amount += ait.base_amount1360 amount_field_data['vat_sdcf'] += ait.base_amount
1321 if ait.tax_id.appl_type == 'exento':1361 if ait.tax_id.appl_type == 'exento':
1322 exent_tax_amount += ait.base_amount1362 amount_field_data['vat_exempt'] += ait.base_amount
1323 else:1363 else:
1324 data.append((0, 0, {'fb_id':1364 data.append((0, 0, {'fb_id':
1325 fb_id, 'fbl_id': False, 'ait_id': ait.id}))1365 fb_id, 'fbl_id': False, 'ait_id': ait.id}))
1326 fbl_obj.write(1366 fbl_obj.write(cr, uid, fbl.id, amount_field_data, context=context)
1327 cr, uid, fbl.id, {'total_with_iva': total_w_iva_amount},
1328 context=context)
1329 fbl_obj.write(
1330 cr, uid, fbl.id, {'vat_sdcf': sdcf_tax_amount},
1331 context=context)
1332 fbl_obj.write(
1333 cr, uid, fbl.id, {'vat_exempt': exent_tax_amount},
1334 context=context)
13351367
1336 if data:1368 if data:
1337 self.write(cr, uid, fb_id, {'fbt_ids': data}, context=context)1369 self.write(cr, uid, fb_id, {'fbt_ids': data}, context=context)
@@ -1384,22 +1416,19 @@
1384 return True1416 return True
13851417
1386 def clear_book_lines(self, cr, uid, ids, context=None):1418 def clear_book_lines(self, cr, uid, ids, context=None):
1387 """ It delete all book lines loaded in the book. """1419 """ It delete all book lines loaded in the book """
1388 context = context or {}1420 context = context or {}
1389 fbl_obj = self.pool.get("fiscal.book.line")1421 fbl_obj = self.pool.get("fiscal.book.line")
1390 for fb_id in ids:1422 for fb_id in ids:
1391 fbl_brws = self.browse(cr, uid, fb_id, context=context).fbl_ids1423 fbl_brws = self.browse(cr, uid, fb_id, context=context).fbl_ids
1392 fbl_ids = [fbl.id for fbl in fbl_brws]1424 fbl_ids = [fbl.id for fbl in fbl_brws]
1393 fbl_obj.unlink(cr, uid, fbl_ids, context=context)1425 fbl_obj.unlink(cr, uid, fbl_ids, context=context)
1394 ntp_fbl_brws = self.browse(cr, uid, fb_id, context=context).fbl_ids
1395 ntp_fbl_ids = [fbl.id for fbl in ntp_fbl_brws]
1396 fbl_obj.unlink(cr, uid, ntp_fbl_ids, context=context)
1397 self.clear_book_taxes_amount_fields(cr, uid, fb_id,1426 self.clear_book_taxes_amount_fields(cr, uid, fb_id,
1398 context=context)1427 context=context)
1399 return True1428 return True
14001429
1401 def clear_book_taxes(self, cr, uid, ids, context=None):1430 def clear_book_taxes(self, cr, uid, ids, context=None):
1402 """ It delete all book taxes loaded in the book. """1431 """ It delete all book taxes loaded in the book """
1403 context = context or {}1432 context = context or {}
1404 fbt_obj = self.pool.get("fiscal.book.taxes")1433 fbt_obj = self.pool.get("fiscal.book.taxes")
1405 for fb_id in ids:1434 for fb_id in ids:
14061435
=== modified file 'l10n_ve_fiscal_book/report/fiscal_book_purchase_report.rml'
--- l10n_ve_fiscal_book/report/fiscal_book_purchase_report.rml 2013-05-20 18:33:19 +0000
+++ l10n_ve_fiscal_book/report/fiscal_book_purchase_report.rml 2013-05-27 21:01:40 +0000
@@ -1,21 +1,301 @@
1<?xml version="1.0"?>1<?xml version="1.0"?>
2<document filename="test.pdf" invariant="1">2<document filename="book.pdf" invariant="1">
3<!--3<!--
4 info: http://www.dpandi.com/paper/4 info: http://www.dpandi.com/paper/
5 Royal Size ( 20 x 25 inches )5 Royal Size ( 20 x 25 inches )
6 A2 Size ( 420 x 594 mm - 16.5 x 23.4 inches )6 A2 Size ( 420 x 594 mm - 16.5 x 23.4 inches )
7 A3 Size ( 297 x 420 mm - 11.7 x 16.5 inches )7 A3 Size ( 297 x 420 mm - 11.7 x 16.5 inches )
8-->8-->
9 <template pageSize="(59.4cm, 42.0cm)" title="Test" author="Katherine Zaoral" allowSplitting="20" showBoundary="0">9 <template pageSize="(59.4cm, 42.0cm)" title="Fiscal Book" author="Katherine Zaoral" allowSplitting="20" showBoundary="0">
10 <pageTemplate id="first">10 <pageTemplate id="first">
11 <pageGraphics>11 <pageGraphics>
12
13 <!-- PAGE HEADER -->
14 <place x="2cm" y="36.7cm" width="59.4cm" height="3.33cm">
15 <!-- REPORT HEADER -->
16 <blockTable colWidths="28.81cm,11.08cm,15.51cm" style="HEADER-REPORT-TABLE">
17 <tr>
18 [[ setLang(my_fb.company_id.partner_id.lang) ]]
19 <td>
20 <para style="HEADERDOC">[[ company.partner_id.name ]] [[ company.partner_id.vat[2:] ]]</para>
21 <para style="HEADERDOC">[[ my_fb.get_partner_addr ]]</para>
22 </td>
23 <td>
24 <para style="HEADERDOC">Libro: Compras </para>
25 <para style="HEADERDOC">[[ my_fb.get_month_year ]]</para>
26 <para style="HEADERDOC">[[ 'Desde: %s'%formatLang( my_fb.period_id.date_start, date=True) ]]</para>
27 <para style="HEADERDOC">[[ 'Hasta: %s'%formatLang( my_fb.period_id.date_stop, date=True) ]]</para>
28 </td>
29 <td>
30 <para style="HEADERDOC" fontName="Times-Roman">Según Articulo 76 del Reglamento de la Ley del IVA No. 5.363 del 12 de Julio de 1999</para>
31 <para style="POPINFO">[[ my_fb.state == 'draft' and 'GETTING READY' or my_fb.state == 'confirmed' and 'APPROVED BY MANAGER' or my_fb.state == 'done' and '' ]]</para>
32 </td>
33 </tr>
34 </blockTable>
35 <spacer length="0.5cm"/>
36 </place>
37
38 <place x="8.34cm" y="34.3cm" width="59.4cm" height="3.33cm">
39 <!-- PURCHASE BOOK HEADERS -->
40 <section>
41 <blockTable colWidths="379.0, 37.0, 310.0, 485.0" style="HEADER-BOOK-TABLE" blockAlignment="LEFT">
42 <tr>
43 <td>
44 <blockTable colWidths="379.0" style="HEADER-BOOK-TABLE">
45 <tr>
46 <td vAlign="MIDDLE"><para style="HEADER">DATOS DE LA FACTURA O/Y DOCUMENTO</para></td>
47 </tr>
48 <tr>
49 <td>
50 <blockTable colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 130.0, 25.0, 63.0" style="HEADER-BOOK-TABLE">
51 <tr>
52 <td vAlign="MIDDLE"><para style="HEADER">Linea</para></td>
53 <td vAlign="MIDDLE"><para style="HEADER">T. Doc.</para></td>
54 <td vAlign="MIDDLE"><para style="HEADER">Fecha Doc.</para></td>
55 <td vAlign="MIDDLE"><para style="HEADER">Numero Control</para></td>
56 <td vAlign="MIDDLE"><para style="HEADER">Numero de Documento</para></td>
57 <td vAlign="MIDDLE"><para style="HEADER">Factura Afectada</para></td>
58 <td vAlign="MIDDLE"><para style="HEADER">Razon Social</para></td>
59 <td vAlign="MIDDLE"><para style="HEADER">RIF</para></td>
60 <td vAlign="MIDDLE"><para style="HEADER">Liquidación de Aduana</para>
61 <section>
62 <blockTable colWidths="23.0, 40.0" style="HEADER-BOOK-TABLE">
63 <tr>
64 <td><para style="HEADER">Fecha Nac.</para></td>
65 <td><para style="HEADER">Declaración</para></td>
66 </tr>
67 </blockTable>
68 </section>
69 </td>
70 </tr>
71 </blockTable>
72 </td>
73 </tr>
74 </blockTable>
75 </td>
76 <td>
77 <blockTable colWidths="37.0" style="HEADER-BOOK-TABLE">
78 <tr>
79 <td vAlign="MIDDLE"><para style="HEADER">TOTALES</para></td>
80 </tr>
81 <tr>
82 <td>
83 <blockTable colWidths="37.0" style="HEADER-BOOK-TABLE" rowHeights="12">
84 <tr>
85 <td vAlign="MIDDLE"><para style="HEADER">Total con IVA</para></td>
86 </tr>
87 </blockTable>
88 </td>
89 </tr>
90 </blockTable>
91 </td>
92 <td>
93 <blockTable colWidths="310.0" style="HEADER-BOOK-TABLE">
94 <tr>
95 <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES DE IMPORTACIONES</para></td>
96 </tr>
97 <tr>
98 <td>
99 <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="HEADER-BOOK-TABLE">
100 <tr>
101 <td>
102 <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
103 <tr>
104 <td><para style="HEADER">No Gravado</para></td>
105 </tr>
106 <tr>
107 <td>
108 <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE">
109 <tr>
110 <td><para style="HEADER">SDCF</para></td>
111 <td><para style="HEADER">Exento</para></td>
112 </tr>
113 </blockTable>
114 </td>
115 </tr>
116 </blockTable>
117 </td>
118 <td>
119 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
120 <tr>
121 <td><para style="HEADER">Compras o Servicios Gravados Alícuota General</para></td>
122 </tr>
123 <tr>
124 <td>
125 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
126 <tr>
127 <td><para style="HEADER">Base Imponible</para></td>
128 <td><para style="HEADER">Alícuota</para></td>
129 <td><para style="HEADER">Débito Fiscal</para></td>
130 </tr>
131 </blockTable>
132 </td>
133 </tr>
134 </blockTable>
135 </td>
136 <td>
137 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
138 <tr>
139 <td><para style="HEADER">Compras o Servicios Gravados Alícuota Reducida</para></td>
140 </tr>
141 <tr>
142 <td>
143 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
144 <tr>
145 <td><para style="HEADER">Base Imponible</para></td>
146 <td><para style="HEADER">Alícuota</para></td>
147 <td><para style="HEADER">Débito Fiscal</para></td>
148 </tr>
149 </blockTable>
150 </td>
151 </tr>
152 </blockTable>
153 </td>
154 <td>
155 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
156 <tr>
157 <td><para style="HEADER">Compras o Servicios Gravados Alícuota Adicional</para></td>
158 </tr>
159 <tr>
160 <td>
161 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
162 <tr>
163 <td><para style="HEADER">Base Imponible</para></td>
164 <td><para style="HEADER">Alícuota</para></td>
165 <td><para style="HEADER">Débito Fiscal</para></td>
166 </tr>
167 </blockTable>
168 </td>
169 </tr>
170 </blockTable>
171 </td>
172 </tr>
173 </blockTable>
174 </td>
175 </tr>
176 </blockTable>
177 </td>
178 <td>
179 <blockTable colWidths="485.0" style="HEADER-BOOK-TABLE">
180 <tr>
181 <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES EN EL MERCADO INTERNO</para></td>
182 </tr>
183 <tr>
184 <td>
185 <blockTable colWidths="40.0, 90.0, 90.0, 90.0, 175.0" style="HEADER-BOOK-TABLE">
186 <tr>
187 <td>
188 <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
189 <tr>
190 <td><para style="HEADER">No Gravado</para></td>
191 </tr>
192 <tr>
193 <td>
194 <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE">
195 <tr>
196 <td><para style="HEADER">SDCF</para></td>
197 <td><para style="HEADER">Exento</para></td>
198 </tr>
199 </blockTable>
200 </td>
201 </tr>
202 </blockTable>
203 </td>
204 <td>
205 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
206 <tr>
207 <td><para style="HEADER">Compras o Servicios Gravados Alícuota General</para></td>
208 </tr>
209 <tr>
210 <td>
211 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
212 <tr>
213 <td><para style="HEADER">Base Imponible</para></td>
214 <td><para style="HEADER">Alícuota</para></td>
215 <td><para style="HEADER">Débito Fiscal</para></td>
216 </tr>
217 </blockTable>
218 </td>
219 </tr>
220 </blockTable>
221 </td>
222 <td>
223 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
224 <tr>
225 <td><para style="HEADER">Compras o Servicios Gravados Alícuota Reducida</para></td>
226 </tr>
227 <tr>
228 <td>
229 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
230 <tr>
231 <td><para style="HEADER">Base Imponible</para></td>
232 <td><para style="HEADER">Alícuota</para></td>
233 <td><para style="HEADER">Débito Fiscal</para></td>
234 </tr>
235 </blockTable>
236 </td>
237 </tr>
238 </blockTable>
239 </td>
240 <td>
241 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
242 <tr>
243 <td><para style="HEADER">Compras o Servicios Gravados Alícuota Adicional</para></td>
244 </tr>
245 <tr>
246 <td>
247 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
248 <tr>
249 <td><para style="HEADER">Base Imponible</para></td>
250 <td><para style="HEADER">Alícuota</para></td>
251 <td><para style="HEADER">Débito Fiscal</para></td>
252 </tr>
253 </blockTable>
254 </td>
255 </tr>
256 </blockTable>
257 </td>
258 <td>
259 <blockTable colWidths="175.0" style="HEADER-BOOK-TABLE">
260 <tr>
261 <td><para style="HEADER">Retenciones</para></td>
262 </tr>
263 <tr>
264 <td>
265 <blockTable colWidths="35.0, 35.0, 35.0, 35.0, 35.0" style="HEADER-BOOK-TABLE">
266 <tr>
267 <td><para style="HEADER">Fecha Factura Afect.</para></td>
268 <td><para style="HEADER">Nro Retención</para></td>
269 <td><para style="HEADER">Débito Fiscal Base</para></td>
270 <td><para style="HEADER">Retención %</para></td>
271 <td><para style="HEADER">Monto Retenido</para></td>
272 </tr>
273 </blockTable>
274 </td>
275 </tr>
276 </blockTable>
277 </td>
278 </tr>
279 </blockTable>
280 </td>
281 </tr>
282 </blockTable>
283 </td>
284 </tr>
285 </blockTable>
286 </section>
287 </place>
288
289 <!-- PAGE FOOTER -->
12 <setFont name="Times-Roman" size="10"/>290 <setFont name="Times-Roman" size="10"/>
13 <drawString x="2.5cm" y="2.5cm"> [[ formatLang(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),date_time = True) ]]</drawString>291 <drawString x="2.5cm" y="2.5cm"> [[ formatLang(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),date_time = True) ]]</drawString>
14 <drawString x="55cm" y="2.5cm">Pagina <pageNumber/></drawString>292 <drawString x="55cm" y="2.5cm">Pagina <pageNumber/></drawString>
15 <lineMode width="0.7"/>293 <lineMode width="0.7"/>
294 <setFont name="Times-Roman" size="8"/>
295 <drawString x="25cm" y="2.5cm"> Printed in Report Lab using OpenERP</drawString>
16 <lines>2.0cm 3.0cm 57.4cm 3.0cm</lines>296 <lines>2.0cm 3.0cm 57.4cm 3.0cm</lines>
17 </pageGraphics>297 </pageGraphics>
18 <frame id="first" x1="2.0cm" y1="2.0cm" width="55.4cm" height="38.0cm"/>298 <frame id="first" x1="2.0cm" y1="3.5cm" width="55.4cm" height="33.7cm"/>
19 </pageTemplate>299 </pageTemplate>
20 </template>300 </template>
21301
@@ -68,6 +348,7 @@
68 <paraStyle name="CONTENIDOLEFT" fontName="Times-Roman" fontSize="4.5" leading="4.7" alignment="LEFT"/>348 <paraStyle name="CONTENIDOLEFT" fontName="Times-Roman" fontSize="4.5" leading="4.7" alignment="LEFT"/>
69 <paraStyle name="HEADERLEFT" fontName="Times-Roman" fontSize="4.0" leading="6" alignment="LEFT"/>349 <paraStyle name="HEADERLEFT" fontName="Times-Roman" fontSize="4.0" leading="6" alignment="LEFT"/>
70 <paraStyle name="CONTENIDOLEFT_BOLD" fontName="Times-Bold" fontSize="7.0" leading="6" alignment="LEFT"/>350 <paraStyle name="CONTENIDOLEFT_BOLD" fontName="Times-Bold" fontSize="7.0" leading="6" alignment="LEFT"/>
351 <paraStyle name="POPINFO" fontName="Times-Bold" fontSize="18.0" textColor="red" leading="6" alignment="LEFT"/>
71352
72 </stylesheet>353 </stylesheet>
73 <images/>354 <images/>
@@ -78,276 +359,6 @@
78 <section>359 <section>
79 <para>[[repeatIn( objects ,'my_fb')]]</para>360 <para>[[repeatIn( objects ,'my_fb')]]</para>
80361
81 <!-- REPORT HEADER -->
82 <blockTable colWidths="28.81cm,11.08cm,15.51cm" style="HEADER-REPORT-TABLE">
83 <tr>
84 [[ setLang(my_fb.company_id.partner_id.lang) ]]
85 <td>
86 <para style="HEADERDOC">[[ company.partner_id.name ]] [[ company.partner_id.vat[2:] ]]</para>
87 <para style="HEADERDOC">[[ my_fb.get_partner_addr ]]</para>
88 </td>
89 <td>
90 <para style="HEADERDOC">Libro: Compras </para>
91 <para style="HEADERDOC">[[ my_fb.get_month_year ]]</para>
92 <para style="HEADERDOC">[[ 'Desde: %s'%formatLang( my_fb.period_id.date_start, date=True) ]]</para>
93 <para style="HEADERDOC">[[ 'Hasta: %s'%formatLang( my_fb.period_id.date_stop, date=True) ]]</para>
94 </td>
95 <td>
96 <para style="HEADERDOC" fontName="Times-Roman">Según Articulo 76 del Reglamento de la Ley del IVA No. 5.363 del 12 de Julio de 1999</para>
97 </td>
98 </tr>
99 </blockTable>
100 <spacer length="10mm"/>
101
102 <!-- PURCHASE BOOK HEADERS -->
103 <section>
104 <blockTable colWidths="379.0, 37.0, 310.0, 485.0" style="HEADER-BOOK-TABLE" blockAlignment="LEFT">
105 <tr>
106 <td>
107 <blockTable colWidths="379.0" style="HEADER-BOOK-TABLE">
108 <tr>
109 <td vAlign="MIDDLE"><para style="HEADER">DATOS DE LA FACTURA O/Y DOCUMENTO</para></td>
110 </tr>
111 <tr>
112 <td>
113 <blockTable colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 130.0, 25.0, 63.0" style="HEADER-BOOK-TABLE">
114 <tr>
115 <td vAlign="MIDDLE"><para style="HEADER">Linea</para></td>
116 <td vAlign="MIDDLE"><para style="HEADER">T. Doc.</para></td>
117 <td vAlign="MIDDLE"><para style="HEADER">Fecha Doc.</para></td>
118 <td vAlign="MIDDLE"><para style="HEADER">Numero Control</para></td>
119 <td vAlign="MIDDLE"><para style="HEADER">Numero de Documento</para></td>
120 <td vAlign="MIDDLE"><para style="HEADER">Factura Afectada</para></td>
121 <td vAlign="MIDDLE"><para style="HEADER">Razon Social</para></td>
122 <td vAlign="MIDDLE"><para style="HEADER">RIF</para></td>
123 <td vAlign="MIDDLE"><para style="HEADER">Liquidación de Aduana</para>
124 <section>
125 <blockTable colWidths="23.0, 40.0" style="HEADER-BOOK-TABLE">
126 <tr>
127 <td><para style="HEADER">Fecha Nac.</para></td>
128 <td><para style="HEADER">Declaración</para></td>
129 </tr>
130 </blockTable>
131 </section>
132 </td>
133 </tr>
134 </blockTable>
135 </td>
136 </tr>
137 </blockTable>
138 </td>
139 <td>
140 <blockTable colWidths="37.0" style="HEADER-BOOK-TABLE">
141 <tr>
142 <td vAlign="MIDDLE"><para style="HEADER">TOTALES</para></td>
143 </tr>
144 <tr>
145 <td>
146 <blockTable colWidths="37.0" style="HEADER-BOOK-TABLE" rowHeights="12">
147 <tr>
148 <td vAlign="MIDDLE"><para style="HEADER">Total con IVA</para></td>
149 </tr>
150 </blockTable>
151 </td>
152 </tr>
153 </blockTable>
154 </td>
155 <td>
156 <blockTable colWidths="310.0" style="HEADER-BOOK-TABLE">
157 <tr>
158 <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES DE IMPORTACIONES</para></td>
159 </tr>
160 <tr>
161 <td>
162 <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="HEADER-BOOK-TABLE">
163 <tr>
164 <td>
165 <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
166 <tr>
167 <td><para style="HEADER">No Gravado</para></td>
168 </tr>
169 <tr>
170 <td>
171 <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE">
172 <tr>
173 <td><para style="HEADER">SDCF</para></td>
174 <td><para style="HEADER">Exento</para></td>
175 </tr>
176 </blockTable>
177 </td>
178 </tr>
179 </blockTable>
180 </td>
181 <td>
182 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
183 <tr>
184 <td><para style="HEADER">Compras o Servicios Gravados Alícuota General</para></td>
185 </tr>
186 <tr>
187 <td>
188 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
189 <tr>
190 <td><para style="HEADER">Base Imponible</para></td>
191 <td><para style="HEADER">Alícuota</para></td>
192 <td><para style="HEADER">Débito Fiscal</para></td>
193 </tr>
194 </blockTable>
195 </td>
196 </tr>
197 </blockTable>
198 </td>
199 <td>
200 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
201 <tr>
202 <td><para style="HEADER">Compras o Servicios Gravados Alícuota Reducida</para></td>
203 </tr>
204 <tr>
205 <td>
206 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
207 <tr>
208 <td><para style="HEADER">Base Imponible</para></td>
209 <td><para style="HEADER">Alícuota</para></td>
210 <td><para style="HEADER">Débito Fiscal</para></td>
211 </tr>
212 </blockTable>
213 </td>
214 </tr>
215 </blockTable>
216 </td>
217 <td>
218 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
219 <tr>
220 <td><para style="HEADER">Compras o Servicios Gravados Alícuota Adicional</para></td>
221 </tr>
222 <tr>
223 <td>
224 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
225 <tr>
226 <td><para style="HEADER">Base Imponible</para></td>
227 <td><para style="HEADER">Alícuota</para></td>
228 <td><para style="HEADER">Débito Fiscal</para></td>
229 </tr>
230 </blockTable>
231 </td>
232 </tr>
233 </blockTable>
234 </td>
235 </tr>
236 </blockTable>
237 </td>
238 </tr>
239 </blockTable>
240 </td>
241 <td>
242 <blockTable colWidths="485.0" style="HEADER-BOOK-TABLE">
243 <tr>
244 <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES EN EL MERCADO INTERNO</para></td>
245 </tr>
246 <tr>
247 <td>
248 <blockTable colWidths="40.0, 90.0, 90.0, 90.0, 175.0" style="HEADER-BOOK-TABLE">
249 <tr>
250 <td>
251 <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
252 <tr>
253 <td><para style="HEADER">No Gravado</para></td>
254 </tr>
255 <tr>
256 <td>
257 <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE">
258 <tr>
259 <td><para style="HEADER">SDCF</para></td>
260 <td><para style="HEADER">Exento</para></td>
261 </tr>
262 </blockTable>
263 </td>
264 </tr>
265 </blockTable>
266 </td>
267 <td>
268 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
269 <tr>
270 <td><para style="HEADER">Compras o Servicios Gravados Alícuota General</para></td>
271 </tr>
272 <tr>
273 <td>
274 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
275 <tr>
276 <td><para style="HEADER">Base Imponible</para></td>
277 <td><para style="HEADER">Alícuota</para></td>
278 <td><para style="HEADER">Débito Fiscal</para></td>
279 </tr>
280 </blockTable>
281 </td>
282 </tr>
283 </blockTable>
284 </td>
285 <td>
286 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
287 <tr>
288 <td><para style="HEADER">Compras o Servicios Gravados Alícuota Reducida</para></td>
289 </tr>
290 <tr>
291 <td>
292 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
293 <tr>
294 <td><para style="HEADER">Base Imponible</para></td>
295 <td><para style="HEADER">Alícuota</para></td>
296 <td><para style="HEADER">Débito Fiscal</para></td>
297 </tr>
298 </blockTable>
299 </td>
300 </tr>
301 </blockTable>
302 </td>
303 <td>
304 <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
305 <tr>
306 <td><para style="HEADER">Compras o Servicios Gravados Alícuota Adicional</para></td>
307 </tr>
308 <tr>
309 <td>
310 <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
311 <tr>
312 <td><para style="HEADER">Base Imponible</para></td>
313 <td><para style="HEADER">Alícuota</para></td>
314 <td><para style="HEADER">Débito Fiscal</para></td>
315 </tr>
316 </blockTable>
317 </td>
318 </tr>
319 </blockTable>
320 </td>
321 <td>
322 <blockTable colWidths="175.0" style="HEADER-BOOK-TABLE">
323 <tr>
324 <td><para style="HEADER">Retenciones</para></td>
325 </tr>
326 <tr>
327 <td>
328 <blockTable colWidths="35.0, 35.0, 35.0, 35.0, 35.0" style="HEADER-BOOK-TABLE">
329 <tr>
330 <td><para style="HEADER">Fecha Factura Afect.</para></td>
331 <td><para style="HEADER">Nro Retención</para></td>
332 <td><para style="HEADER">Débito Fiscal Base</para></td>
333 <td><para style="HEADER">Retención %</para></td>
334 <td><para style="HEADER">Monto Retenido</para></td>
335 </tr>
336 </blockTable>
337 </td>
338 </tr>
339 </blockTable>
340 </td>
341 </tr>
342 </blockTable>
343 </td>
344 </tr>
345 </blockTable>
346 </td>
347 </tr>
348 </blockTable>
349 </section>
350
351 <!-- PURCHASE BOOK LINES -->362 <!-- PURCHASE BOOK LINES -->
352 <section>363 <section>
353 <para>[[repeatIn( my_fb.fbl_ids,'my_fbl')]]</para>364 <para>[[repeatIn( my_fb.fbl_ids,'my_fbl')]]</para>
@@ -477,7 +488,7 @@
477 <blockTable colWidths="70mm,40mm" style="SUMMARY-TABLE" repeatRows="2">488 <blockTable colWidths="70mm,40mm" style="SUMMARY-TABLE" repeatRows="2">
478 <tr>489 <tr>
479 <td><para style="HEADER">[['RESUMEN RETENCIONES']]</para></td>490 <td><para style="HEADER">[['RESUMEN RETENCIONES']]</para></td>
480 <td><para style="HEADER">RET. DEBITO FISCAL</para></td>491 <td><para style="HEADER">RET. CRÉDITO FISCAL</para></td>
481 </tr>492 </tr>
482 <tr>493 <tr>
483 <td><para style="CONTENIDOLEFT">[['RETENCIONES PERIODOS ANTERIORES']]</para></td>494 <td><para style="CONTENIDOLEFT">[['RETENCIONES PERIODOS ANTERIORES']]</para></td>
@@ -502,7 +513,7 @@
502 <tr>513 <tr>
503 <td><para style="HEADER">RESUMEN</para></td>514 <td><para style="HEADER">RESUMEN</para></td>
504 <td><para style="HEADER">BASE IMPONIBLE</para></td>515 <td><para style="HEADER">BASE IMPONIBLE</para></td>
505 <td><para style="HEADER">DEBITO FISCAL</para></td>516 <td><para style="HEADER">CRÉDITO FISCAL</para></td>
506 </tr>517 </tr>
507 <tr>518 <tr>
508 <td><para style="HEADERLEFT">IMPORTACIONES NO GRAVADAS Y/O SIN DERECHO A CREDITO FISCAL</para></td>519 <td><para style="HEADERLEFT">IMPORTACIONES NO GRAVADAS Y/O SIN DERECHO A CREDITO FISCAL</para></td>
@@ -546,26 +557,13 @@
546 <td><para style="HEADER">[[ formatLang(my_fb.do_reduced_vat_tax_sum or 0.0) ]]</para></td>557 <td><para style="HEADER">[[ formatLang(my_fb.do_reduced_vat_tax_sum or 0.0) ]]</para></td>
547 </tr>558 </tr>
548 <tr>559 <tr>
549 <td><para style="CONTENIDOLEFT_BOLD">TOTAL VENTAS Y DEBITOS FISCAL PARA EFECTOS DE DETERMINACION</para></td>560 <td><para style="CONTENIDOLEFT_BOLD">TOTAL COMPRAS Y CRÉDITOS FISCAL PARA EFECTOS DE DETERMINACION</para></td>
550 <td><para style="HEADER">[[ formatLang(my_fb.get_total_tax_credit_debit_base_sum or 0.0) ]]</para></td>561 <td><para style="HEADER">[[ formatLang(my_fb.get_total_tax_credit_debit_base_sum or 0.0) ]]</para></td>
551 <td><para style="HEADER">[[ formatLang(my_fb.get_total_tax_credit_debit_tax_sum or 0.0) ]]</para></td>562 <td><para style="HEADER">[[ formatLang(my_fb.get_total_tax_credit_debit_tax_sum or 0.0) ]]</para></td>
552 </tr>563 </tr>
553 </blockTable>564 </blockTable>
554 </section>565 </section>
555566
556<!--
557<blockTable colWidths="110.0" style="INTERNALTABLE">
558 <tr>
559 <td vAlign="MIDDLE">
560 <para>[[ validation(data['form']) and '.' or removeParentNode('blockTable') ]]</para>
561 <nextPage/>
562 OJO AQUI el next page estaba comentado.
563 </td>
564 </tr>
565</blockTable>
566
567-->
568
569 </section>567 </section>
570 </story>568 </story>
571</document>569</document>
572570
=== modified file 'l10n_ve_fiscal_book/report/fiscal_book_sale_report.rml'
--- l10n_ve_fiscal_book/report/fiscal_book_sale_report.rml 2013-05-20 18:33:19 +0000
+++ l10n_ve_fiscal_book/report/fiscal_book_sale_report.rml 2013-05-27 21:01:40 +0000
@@ -1,21 +1,376 @@
1<?xml version="1.0"?>1<?xml version="1.0"?>
2<document filename="test.pdf" invariant="1">2<document filename="book.pdf" invariant="1">
3<!--3<!--
4 info: http://www.dpandi.com/paper/4 info: http://www.dpandi.com/paper/
5 Royal Size ( 20 x 25 inches )5 Royal Size ( 20 x 25 inches )
6 A2 Size ( 420 x 594 mm - 16.5 x 23.4 inches )6 A2 Size ( 420 x 594 mm - 16.5 x 23.4 inches )
7 A3 Size ( 297 x 420 mm - 11.7 x 16.5 inches )7 A3 Size ( 297 x 420 mm - 11.7 x 16.5 inches )
8-->8-->
9 <template pageSize="(59.4cm, 42.0cm)" title="Test" author="Katherine Zaoral" allowSplitting="20" showBoundary="0">9 <template pageSize="(59.4cm, 42.0cm)" title="Fiscal Book" author="Katherine Zaoral" allowSplitting="20" showBoundary="0">
10 <pageTemplate id="first">10 <pageTemplate id="first">
11 <pageGraphics>11 <pageGraphics>
12
13 <!-- PAGE HEADER -->
14 <place x="2cm" y="36.7cm" width="59.4cm" height="3.33cm">
15 <!-- REPORT HEADER -->
16 <blockTable colWidths="28.81cm, 11.08cm, 15.51cm" style="HEADER-REPORT-TABLE">
17 <tr>
18 [[ setLang(my_fb.company_id.partner_id.lang) ]]
19 <td>
20 <para style="HEADERDOC">[[ my_fb.company_id.partner_id.name ]] [[ my_fb.company_id.partner_id.vat[2:] ]]</para>
21 <para style="HEADERDOC">[[ my_fb.get_partner_addr ]]</para>
22 </td>
23 <td>
24 <para styleda="HEADERDOC">Libro: Ventas </para>
25 <para style="HEADERDOC">[[ my_fb.get_month_year ]]</para>
26 <para style="HEADERDOC">[[ 'Desde: %s'%formatLang( my_fb.period_id.date_start, date=True) ]]</para>
27 <para style="HEADERDOC">[[ 'Hasta: %s'%formatLang( my_fb.period_id.date_stop, date=True) ]]</para>
28 </td>
29 <td>
30 <para style="HEADERDOC" fontName="Times-Roman">Según Articulo 76 del Reglamento de la Ley del IVA No. 5.363 del 12 de Julio de 1999</para>
31 <para style="POPINFO">[[ my_fb.state == 'draft' and 'GETTING READY' or my_fb.state == 'confirmed' and 'APPROVED BY MANAGER' or my_fb.state == 'done' and '' ]]</para>
32 </td>
33 </tr>
34 </blockTable>
35 <spacer length="0.5cm"/>
36 </place>
37
38 <place x="6.6cm" y="34.5cm" width="59.4cm" height="3.33cm">
39 <!-- SALE BOOK HEADERS -->
40 <blockTable colWidths="375.0, 37.0, 103.0, 795.0" style="NEW-HEADER" blockAlignment="LEFT">
41 <tr>
42 <td>
43 <blockTable colWidths="375.0" style="NEW-HEADER">
44 <tr>
45 <td vAlign="MIDDLE"><para style="HEADER">DATOS DE LA FACTURA O/Y DOCUMENTO</para></td>
46 </tr>
47 <tr>
48 <td>
49 <blockTable colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 72.0, 23.0, 130.0, 25.0" style="NEW-HEADER" rowHeights="18">
50 <tr>
51 <td vAlign="MIDDLE"><para style="HEADER">Linea</para></td>
52 <td vAlign="MIDDLE"><para style="HEADER">T. Doc.</para></td>
53 <td vAlign="MIDDLE"><para style="HEADER">Fecha Doc.</para></td>
54 <td vAlign="MIDDLE"><para style="HEADER">Numero Control</para></td>
55 <td vAlign="MIDDLE"><para style="HEADER">Numero de Documento</para></td>
56
57 <td>
58 <blockTable colWidths="72.0" style="NEW-HEADER">
59 <tr>
60 <td vAlign="MIDDLE"><para style="HEADER">Impresora Fiscal</para></td>
61 </tr>
62 <tr>
63 <td>
64 <blockTable colWidths="36.0, 36.0" style="NEW-HEADER" rowHeights="12">
65 <tr>
66 <td vAlign="MIDDLE"><para style="HEADER">Numero Impresora</para></td>
67 <td vAlign="MIDDLE"><para style="HEADER">Reporte Z</para></td>
68 </tr>
69 </blockTable>
70 </td>
71 </tr>
72 </blockTable>
73 </td>
74
75 <td vAlign="MIDDLE"><para style="HEADER">Factura Afectada</para></td>
76 <td vAlign="MIDDLE"><para style="HEADER">Razon Social</para></td>
77 <td vAlign="MIDDLE"><para style="HEADER">RIF</para></td>
78 </tr>
79 </blockTable>
80 </td>
81 </tr>
82 </blockTable>
83 </td>
84 <td>
85 <blockTable colWidths="37.0" style="NEW-HEADER">
86 <tr>
87 <td vAlign="MIDDLE"><para style="HEADER">TOTALES</para></td>
88 </tr>
89 <tr>
90 <td>
91 <blockTable colWidths="37.0" style="NEW-HEADER" rowHeights="18">
92 <tr>
93 <td vAlign="MIDDLE"><para style="HEADER">Total con IVA</para></td>
94 </tr>
95 </blockTable>
96 </td>
97 </tr>
98 </blockTable>
99 </td>
100 <td>
101 <blockTable colWidths="103.0" style="NEW-HEADER">
102 <tr>
103 <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES DE EXPORTACION</para></td>
104 </tr>
105 <tr>
106 <td>
107 <blockTable colWidths="63.0, 40.0" style="NEW-HEADER" rowHeights="18">
108 <tr>
109 <td>
110 <blockTable colWidths="63.0" style="NEW-HEADER">
111 <tr>
112 <td vAlign="MIDDLE"><para style="HEADER">Datos Generales de Aduana</para></td>
113 </tr>
114 <tr>
115 <td>
116 <blockTable colWidths="23.0, 40.0" style="NEW-HEADER" rowHeights="12">
117 <tr>
118 <td><para style="HEADER">Fecha</para></td>
119 <td><para style="HEADER">Declaración</para></td>
120 </tr>
121 </blockTable>
122 </td>
123 </tr>
124 </blockTable>
125 </td>
126 <td>
127 <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
128 <tr>
129 <td><para style="HEADER">No Gravado</para></td>
130 </tr>
131 <tr>
132 <td>
133 <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE" rowHeights="12">
134 <tr>
135 <td><para style="HEADER">SDCF</para></td>
136 <td><para style="HEADER">Exento</para></td>
137 </tr>
138 </blockTable>
139 </td>
140 </tr>
141 </blockTable>
142 </td>
143 </tr>
144 </blockTable>
145 </td>
146 </tr>
147 </blockTable>
148 </td>
149 <td>
150 <blockTable colWidths="795.0" style="NEW-HEADER">
151 <tr>
152 <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES EN EL MERCADO INTERNO</para></td>
153 </tr>
154 <tr>
155 <td>
156 <blockTable colWidths="310.0, 310.0, 175.0" style="NEW-HEADER">
157 <tr>
158 <td>
159 <blockTable colWidths="310.0" style="NEW-HEADER">
160 <tr>
161 <td vAlign="MIDDLE"><para style="HEADER">Contribuyente</para></td>
162 </tr>
163 <tr>
164 <td>
165 <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="NEW-HEADER">
166 <tr>
167 <td>
168 <blockTable colWidths="40.0" style="NEW-HEADER">
169 <tr>
170 <td><para style="HEADER">No Gravado</para></td>
171 </tr>
172 <tr>
173 <td>
174 <blockTable colWidths="20.0, 20.0" style="NEW-HEADER">
175 <tr>
176 <td><para style="HEADER">SDCF</para></td>
177 <td><para style="HEADER">Exento</para></td>
178 </tr>
179 </blockTable>
180 </td>
181 </tr>
182 </blockTable>
183 </td>
184 <td>
185 <blockTable colWidths="90.0" style="NEW-HEADER">
186 <tr>
187 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
188 </tr>
189 <tr>
190 <td>
191 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
192 <tr>
193 <td><para style="HEADER">Base Imponible</para></td>
194 <td><para style="HEADER">Alícuota</para></td>
195 <td><para style="HEADER">Débito Fiscal</para></td>
196 </tr>
197 </blockTable>
198 </td>
199 </tr>
200 </blockTable>
201 </td>
202 <td>
203 <blockTable colWidths="90.0" style="NEW-HEADER">
204 <tr>
205 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
206 </tr>
207 <tr>
208 <td>
209 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
210 <tr>
211 <td><para style="HEADER">Base Imponible</para></td>
212 <td><para style="HEADER">Alícuota</para></td>
213 <td><para style="HEADER">Débito Fiscal</para></td>
214 </tr>
215 </blockTable>
216 </td>
217 </tr>
218 </blockTable>
219 </td>
220 <td>
221 <blockTable colWidths="90.0" style="NEW-HEADER">
222 <tr>
223 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
224 </tr>
225 <tr>
226 <td>
227 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
228 <tr>
229 <td><para style="HEADER">Base Imponible</para></td>
230 <td><para style="HEADER">Alícuota</para></td>
231 <td><para style="HEADER">Débito Fiscal</para></td>
232 </tr>
233 </blockTable>
234 </td>
235 </tr>
236 </blockTable>
237 </td>
238 </tr>
239 </blockTable>
240 </td>
241 </tr>
242 </blockTable>
243 </td>
244
245 <td>
246 <blockTable colWidths="310.0" style="NEW-HEADER">
247 <tr>
248 <td vAlign="MIDDLE"><para style="HEADER">No Contribuyente</para></td>
249 </tr>
250 <tr>
251 <td>
252 <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="NEW-HEADER">
253 <tr>
254 <td>
255 <blockTable colWidths="40.0" style="NEW-HEADER">
256 <tr>
257 <td><para style="HEADER">No Gravado</para></td>
258 </tr>
259 <tr>
260 <td>
261 <blockTable colWidths="20.0, 20.0" style="NEW-HEADER">
262 <tr>
263 <td><para style="HEADER">SDCF</para></td>
264 <td><para style="HEADER">Exento</para></td>
265 </tr>
266 </blockTable>
267 </td>
268 </tr>
269 </blockTable>
270 </td>
271 <td>
272 <blockTable colWidths="90.0" style="NEW-HEADER">
273 <tr>
274 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
275 </tr>
276 <tr>
277 <td>
278 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
279 <tr>
280 <td><para style="HEADER">Base Imponible</para></td>
281 <td><para style="HEADER">Alícuota</para></td>
282 <td><para style="HEADER">Débito Fiscal</para></td>
283 </tr>
284 </blockTable>
285 </td>
286 </tr>
287 </blockTable>
288 </td>
289 <td>
290 <blockTable colWidths="90.0" style="NEW-HEADER">
291 <tr>
292 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
293 </tr>
294 <tr>
295 <td>
296 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
297 <tr>
298 <td><para style="HEADER">Base Imponible</para></td>
299 <td><para style="HEADER">Alícuota</para></td>
300 <td><para style="HEADER">Débito Fiscal</para></td>
301 </tr>
302 </blockTable>
303 </td>
304 </tr>
305 </blockTable>
306 </td>
307 <td>
308 <blockTable colWidths="90.0" style="NEW-HEADER">
309 <tr>
310 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
311 </tr>
312 <tr>
313 <td>
314 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
315 <tr>
316 <td><para style="HEADER">Base Imponible</para></td>
317 <td><para style="HEADER">Alícuota</para></td>
318 <td><para style="HEADER">Débito Fiscal</para></td>
319 </tr>
320 </blockTable>
321 </td>
322 </tr>
323 </blockTable>
324 </td>
325 </tr>
326 </blockTable>
327 </td>
328 </tr>
329 </blockTable>
330 </td>
331
332 <td>
333 <blockTable colWidths="175.0" style="NEW-HEADER">
334 <tr>
335 <td><para style="HEADER">Retenciones</para></td>
336 </tr>
337 <tr>
338 <td>
339 <blockTable colWidths="35.0, 35.0, 35.0, 35.0, 35.0" style="NEW-HEADER" rowHeights="12.0">
340 <tr>
341 <td><para style="HEADER">Fecha de Factura Afectada</para></td>
342 <td><para style="HEADER">Nro Retención</para></td>
343 <td><para style="HEADER">Débito Fiscal Base</para></td>
344 <td><para style="HEADER">Retención %</para></td>
345 <td><para style="HEADER">Monto Retenido</para></td>
346 </tr>
347 </blockTable>
348 </td>
349 </tr>
350 </blockTable>
351 </td>
352 </tr>
353 </blockTable>
354 </td>
355 </tr>
356 </blockTable>
357 </td>
358 </tr>
359 </blockTable>
360
361 </place>
362
363 <!-- PAGE FOOTER -->
12 <setFont name="Times-Roman" size="10"/>364 <setFont name="Times-Roman" size="10"/>
13 <drawString x="2.5cm" y="2.5cm"> [[ formatLang(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),date_time = True) ]]</drawString>365 <drawString x="2.5cm" y="2.5cm"> [[ formatLang(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),date_time = True) ]]</drawString>
14 <drawString x="55cm" y="2.5cm">Pagina <pageNumber/></drawString>366 <drawString x="55cm" y="2.5cm">Pagina <pageNumber/></drawString>
15 <lineMode width="0.7"/>367 <lineMode width="0.7"/>
368 <setFont name="Times-Roman" size="8"/>
369 <drawString x="25cm" y="2.5cm"> Printed in Report Lab using OpenERP</drawString>
16 <lines>2.0cm 3.0cm 57.4cm 3.0cm</lines>370 <lines>2.0cm 3.0cm 57.4cm 3.0cm</lines>
371
17 </pageGraphics>372 </pageGraphics>
18 <frame id="first" x1="2.0cm" y1="2.0cm" width="55.4cm" height="38.0cm"/>373 <frame id="first" x1="2.0cm" y1="3.5cm" width="55.4cm" height="33.7cm"/>
19 </pageTemplate>374 </pageTemplate>
20 </template>375 </template>
21376
@@ -131,6 +486,7 @@
131 <paraStyle name="Index" fontName="Times-Roman"/>486 <paraStyle name="Index" fontName="Times-Roman"/>
132 <paraStyle name="Table Contents" fontName="Times-Roman"/>487 <paraStyle name="Table Contents" fontName="Times-Roman"/>
133 <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>488 <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
489 <paraStyle name="POPINFO" fontName="Times-Bold" fontSize="18.0" textColor="red" leading="6" alignment="LEFT"/>
134490
135 <blockTableStyle id="NEW-HEADER">491 <blockTableStyle id="NEW-HEADER">
136 <lineStyle kind="GRID" colorName="black"/>492 <lineStyle kind="GRID" colorName="black"/>
@@ -162,412 +518,13 @@
162 <section>518 <section>
163 <para>[[repeatIn( objects ,'my_fb')]]</para>519 <para>[[repeatIn( objects ,'my_fb')]]</para>
164520
165 <!-- REPORT HEADER -->
166 <blockTable colWidths="28.81cm,11.08cm,15.51cm" style="HEADER-REPORT-TABLE">
167 <tr>
168 [[ setLang(my_fb.company_id.partner_id.lang) ]]
169 <td>
170 <para style="HEADERDOC">[[ company.partner_id.name ]] [[ company.partner_id.vat[2:] ]]</para>
171 <para style="HEADERDOC">[[ my_fb.get_partner_addr ]]</para>
172 </td>
173 <td>
174 <para styleda="HEADERDOC">Libro: Ventas </para>
175 <para style="HEADERDOC">[[ my_fb.get_month_year ]]</para>
176 <para style="HEADERDOC">[[ 'Desde: %s'%formatLang( my_fb.period_id.date_start, date=True) ]]</para>
177 <para style="HEADERDOC">[[ 'Hasta: %s'%formatLang( my_fb.period_id.date_stop, date=True) ]]</para>
178 </td>
179 <td>
180 <para style="HEADERDOC" fontName="Times-Roman">Según Articulo 76 del Reglamento de la Ley del IVA No. 5.363 del 12 de Julio de 1999</para>
181 </td>
182 </tr>
183 </blockTable>
184 <spacer length="10mm"/>
185
186 <!-- SALE BOOK HEADERS -->
187 <section>
188 <blockTable colWidths="375.0, 37.0, 373.0, 795.0" style="NEW-HEADER" blockAlignment="LEFT">
189 <tr>
190 <td>
191 <blockTable colWidths="375.0" style="NEW-HEADER">
192 <tr>
193 <td vAlign="MIDDLE"><para style="HEADER">DATOS DE LA FACTURA O/Y DOCUMENTO</para></td>
194 </tr>
195 <tr>
196 <td>
197 <blockTable colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 72.0, 23.0, 130.0, 25.0" style="NEW-HEADER" rowHeights="18">
198 <tr>
199 <td vAlign="MIDDLE"><para style="HEADER">Linea</para></td>
200 <td vAlign="MIDDLE"><para style="HEADER">T. Doc.</para></td>
201 <td vAlign="MIDDLE"><para style="HEADER">Fecha Doc.</para></td>
202 <td vAlign="MIDDLE"><para style="HEADER">Numero Control</para></td>
203 <td vAlign="MIDDLE"><para style="HEADER">Numero de Documento</para></td>
204
205 <td>
206 <blockTable colWidths="72.0" style="NEW-HEADER">
207 <tr>
208 <td vAlign="MIDDLE"><para style="HEADER">Impresora Fiscal</para></td>
209 </tr>
210 <tr>
211 <td>
212 <blockTable colWidths="36.0, 36.0" style="NEW-HEADER" rowHeights="12">
213 <tr>
214 <td vAlign="MIDDLE"><para style="HEADER">Numero Impresora</para></td>
215 <td vAlign="MIDDLE"><para style="HEADER">Reporte Z</para></td>
216 </tr>
217 </blockTable>
218 </td>
219 </tr>
220 </blockTable>
221 </td>
222
223 <td vAlign="MIDDLE"><para style="HEADER">Factura Afectada</para></td>
224 <td vAlign="MIDDLE"><para style="HEADER">Razon Social</para></td>
225 <td vAlign="MIDDLE"><para style="HEADER">RIF</para></td>
226 </tr>
227 </blockTable>
228 </td>
229 </tr>
230 </blockTable>
231 </td>
232 <td>
233 <blockTable colWidths="37.0" style="NEW-HEADER">
234 <tr>
235 <td vAlign="MIDDLE"><para style="HEADER">TOTALES</para></td>
236 </tr>
237 <tr>
238 <td>
239 <blockTable colWidths="37.0" style="NEW-HEADER" rowHeights="18">
240 <tr>
241 <td vAlign="MIDDLE"><para style="HEADER">Total con IVA</para></td>
242 </tr>
243 </blockTable>
244 </td>
245 </tr>
246 </blockTable>
247 </td>
248 <td>
249 <blockTable colWidths="373.0" style="NEW-HEADER">
250 <tr>
251 <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES DE EXPORTACION</para></td>
252 </tr>
253 <tr>
254 <td>
255 <blockTable colWidths="63.0, 40.0, 90.0, 90.0, 90.0" style="NEW-HEADER" rowHeights="18">
256 <tr>
257 <td>
258 <blockTable colWidths="63.0" style="NEW-HEADER">
259 <tr>
260 <td vAlign="MIDDLE"><para style="HEADER">Datos Generales de Aduana</para></td>
261 </tr>
262 <tr>
263 <td>
264 <blockTable colWidths="23.0, 40.0" style="NEW-HEADER" rowHeights="12">
265 <tr>
266 <td><para style="HEADER">Fecha</para></td>
267 <td><para style="HEADER">Declaración</para></td>
268 </tr>
269 </blockTable>
270 </td>
271 </tr>
272 </blockTable>
273 </td>
274 <td>
275 <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
276 <tr>
277 <td><para style="HEADER">No Gravado</para></td>
278 </tr>
279 <tr>
280 <td>
281 <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE" rowHeights="12">
282 <tr>
283 <td><para style="HEADER">SDCF</para></td>
284 <td><para style="HEADER">Exento</para></td>
285 </tr>
286 </blockTable>
287 </td>
288 </tr>
289 </blockTable>
290 </td>
291 <td>
292 <blockTable colWidths="90.0" style="NEW-HEADER">
293 <tr>
294 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
295 </tr>
296 <tr>
297 <td>
298 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER" rowHeights="12">
299 <tr>
300 <td><para style="HEADER">Base Imponible</para></td>
301 <td><para style="HEADER">Alícuota</para></td>
302 <td><para style="HEADER">Débito Fiscal</para></td>
303 </tr>
304 </blockTable>
305 </td>
306 </tr>
307 </blockTable>
308 </td>
309 <td>
310 <blockTable colWidths="90.0" style="NEW-HEADER">
311 <tr>
312 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
313 </tr>
314 <tr>
315 <td>
316 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER" rowHeights="12">
317 <tr>
318 <td><para style="HEADER">Base Imponible</para></td>
319 <td><para style="HEADER">Alícuota</para></td>
320 <td><para style="HEADER">Débito Fiscal</para></td>
321 </tr>
322 </blockTable>
323 </td>
324 </tr>
325 </blockTable>
326 </td>
327 <td>
328 <blockTable colWidths="90.0" style="NEW-HEADER">
329 <tr>
330 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
331 </tr>
332 <tr>
333 <td>
334 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER" rowHeights="12">
335 <tr>
336 <td><para style="HEADER">Base Imponible</para></td>
337 <td><para style="HEADER">Alícuota</para></td>
338 <td><para style="HEADER">Débito Fiscal</para></td>
339 </tr>
340 </blockTable>
341 </td>
342 </tr>
343 </blockTable>
344 </td>
345 </tr>
346 </blockTable>
347 </td>
348 </tr>
349 </blockTable>
350 </td>
351 <td>
352 <blockTable colWidths="795.0" style="NEW-HEADER">
353 <tr>
354 <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES EN EL MERCADO INTERNO</para></td>
355 </tr>
356 <tr>
357 <td>
358 <blockTable colWidths="310.0, 310.0, 175.0" style="NEW-HEADER">
359 <tr>
360 <td>
361 <blockTable colWidths="310.0" style="NEW-HEADER">
362 <tr>
363 <td vAlign="MIDDLE"><para style="HEADER">Contribuyente</para></td>
364 </tr>
365 <tr>
366 <td>
367 <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="NEW-HEADER">
368 <tr>
369 <td>
370 <blockTable colWidths="40.0" style="NEW-HEADER">
371 <tr>
372 <td><para style="HEADER">No Gravado</para></td>
373 </tr>
374 <tr>
375 <td>
376 <blockTable colWidths="20.0, 20.0" style="NEW-HEADER">
377 <tr>
378 <td><para style="HEADER">SDCF</para></td>
379 <td><para style="HEADER">Exento</para></td>
380 </tr>
381 </blockTable>
382 </td>
383 </tr>
384 </blockTable>
385 </td>
386 <td>
387 <blockTable colWidths="90.0" style="NEW-HEADER">
388 <tr>
389 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
390 </tr>
391 <tr>
392 <td>
393 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
394 <tr>
395 <td><para style="HEADER">Base Imponible</para></td>
396 <td><para style="HEADER">Alícuota</para></td>
397 <td><para style="HEADER">Débito Fiscal</para></td>
398 </tr>
399 </blockTable>
400 </td>
401 </tr>
402 </blockTable>
403 </td>
404 <td>
405 <blockTable colWidths="90.0" style="NEW-HEADER">
406 <tr>
407 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
408 </tr>
409 <tr>
410 <td>
411 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
412 <tr>
413 <td><para style="HEADER">Base Imponible</para></td>
414 <td><para style="HEADER">Alícuota</para></td>
415 <td><para style="HEADER">Débito Fiscal</para></td>
416 </tr>
417 </blockTable>
418 </td>
419 </tr>
420 </blockTable>
421 </td>
422 <td>
423 <blockTable colWidths="90.0" style="NEW-HEADER">
424 <tr>
425 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
426 </tr>
427 <tr>
428 <td>
429 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
430 <tr>
431 <td><para style="HEADER">Base Imponible</para></td>
432 <td><para style="HEADER">Alícuota</para></td>
433 <td><para style="HEADER">Débito Fiscal</para></td>
434 </tr>
435 </blockTable>
436 </td>
437 </tr>
438 </blockTable>
439 </td>
440 </tr>
441 </blockTable>
442 </td>
443 </tr>
444 </blockTable>
445 </td>
446
447 <td>
448 <blockTable colWidths="310.0" style="NEW-HEADER">
449 <tr>
450 <td vAlign="MIDDLE"><para style="HEADER">No Contribuyente</para></td>
451 </tr>
452 <tr>
453 <td>
454 <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="NEW-HEADER">
455 <tr>
456 <td>
457 <blockTable colWidths="40.0" style="NEW-HEADER">
458 <tr>
459 <td><para style="HEADER">No Gravado</para></td>
460 </tr>
461 <tr>
462 <td>
463 <blockTable colWidths="20.0, 20.0" style="NEW-HEADER">
464 <tr>
465 <td><para style="HEADER">SDCF</para></td>
466 <td><para style="HEADER">Exento</para></td>
467 </tr>
468 </blockTable>
469 </td>
470 </tr>
471 </blockTable>
472 </td>
473 <td>
474 <blockTable colWidths="90.0" style="NEW-HEADER">
475 <tr>
476 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
477 </tr>
478 <tr>
479 <td>
480 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
481 <tr>
482 <td><para style="HEADER">Base Imponible</para></td>
483 <td><para style="HEADER">Alícuota</para></td>
484 <td><para style="HEADER">Débito Fiscal</para></td>
485 </tr>
486 </blockTable>
487 </td>
488 </tr>
489 </blockTable>
490 </td>
491 <td>
492 <blockTable colWidths="90.0" style="NEW-HEADER">
493 <tr>
494 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
495 </tr>
496 <tr>
497 <td>
498 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
499 <tr>
500 <td><para style="HEADER">Base Imponible</para></td>
501 <td><para style="HEADER">Alícuota</para></td>
502 <td><para style="HEADER">Débito Fiscal</para></td>
503 </tr>
504 </blockTable>
505 </td>
506 </tr>
507 </blockTable>
508 </td>
509 <td>
510 <blockTable colWidths="90.0" style="NEW-HEADER">
511 <tr>
512 <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
513 </tr>
514 <tr>
515 <td>
516 <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
517 <tr>
518 <td><para style="HEADER">Base Imponible</para></td>
519 <td><para style="HEADER">Alícuota</para></td>
520 <td><para style="HEADER">Débito Fiscal</para></td>
521 </tr>
522 </blockTable>
523 </td>
524 </tr>
525 </blockTable>
526 </td>
527 </tr>
528 </blockTable>
529 </td>
530 </tr>
531 </blockTable>
532 </td>
533
534 <td>
535 <blockTable colWidths="175.0" style="NEW-HEADER">
536 <tr>
537 <td><para style="HEADER">Retenciones</para></td>
538 </tr>
539 <tr>
540 <td>
541 <blockTable colWidths="35.0, 35.0, 35.0, 35.0, 35.0" style="NEW-HEADER" rowHeights="12.0">
542 <tr>
543 <td><para style="HEADER">Fecha de Factura Afectada</para></td>
544 <td><para style="HEADER">Nro Retención</para></td>
545 <td><para style="HEADER">Débito Fiscal Base</para></td>
546 <td><para style="HEADER">Retención %</para></td>
547 <td><para style="HEADER">Monto Retenido</para></td>
548 </tr>
549 </blockTable>
550 </td>
551 </tr>
552 </blockTable>
553 </td>
554 </tr>
555 </blockTable>
556 </td>
557 </tr>
558 </blockTable>
559 </td>
560 </tr>
561 </blockTable>
562 </section>
563
564 <!-- SALE BOOK LINES -->521 <!-- SALE BOOK LINES -->
565 <section>522 <section>
566 <para>[[repeatIn( my_fb.fbl_ids,'my_fbl')]]</para>523 <para>[[repeatIn( my_fb.fbl_ids,'my_fbl')]]</para>
567 <blockTable style="NEW-CONTENIDOTABLE-LINES" blockAlignment="LEFT"524 <blockTable style="NEW-CONTENIDOTABLE-LINES"
568 colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 36.0, 23.0, 130.0, 25.0,525 colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 36.0, 23.0, 130.0, 25.0,
569 37.0,526 37.0,
570 23.0, 40.0, 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,527 23.0, 40.0, 20.0, 20.0,
571 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,528 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
572 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,529 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
573 35.0, 35.0, 35.0, 35.0, 35.0">530 35.0, 35.0, 35.0, 35.0, 35.0">
@@ -590,15 +547,6 @@
590 <td vAlign="MIDDLE"><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.custom_statement # Declaracion ]]</para></td>547 <td vAlign="MIDDLE"><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.custom_statement # Declaracion ]]</para></td>
591 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_sdcf # SDCF ]]</para></td>548 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_sdcf # SDCF ]]</para></td>
592 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_exempt # Exento ]]</para></td>549 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_exempt # Exento ]]</para></td>
593 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_general_base # General | Base Imponible ]]</para></td>
594 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and '12%' # General | Alícuota ]]</para></td>
595 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_general_tax # General | Débito Fiscal ]]</para></td>
596 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_reduced_base # Reducido | Base Imponible ]]</para></td>
597 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and '8%' # Reducido | Alícuota ]]</para></td>
598 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_reduced_tax # Reducido | Débito Fiscal ]]</para></td>
599 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_additional_base # Adicional | Base Imponible ]]</para></td>
600 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and '22%' # Adicional | Alícuota ]]</para></td>
601 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_additional_tax # Adicional | Débito Fiscal ]]</para></td>
602 <!-- Ventas Internas / Contribuyentes -->550 <!-- Ventas Internas / Contribuyentes -->
603 <td><para style="HEADER">[[ my_fbl.type in ['tp'] and my_fbl.vat_sdcf # SDCF ]]</para></td>551 <td><para style="HEADER">[[ my_fbl.type in ['tp'] and my_fbl.vat_sdcf # SDCF ]]</para></td>
604 <td><para style="HEADER">[[ my_fbl.type in ['tp'] and my_fbl.vat_exempt # Exento ]]</para></td>552 <td><para style="HEADER">[[ my_fbl.type in ['tp'] and my_fbl.vat_exempt # Exento ]]</para></td>
@@ -635,10 +583,10 @@
635583
636 <!-- TOTALS SALE PARCIALES -->584 <!-- TOTALS SALE PARCIALES -->
637 <section>585 <section>
638 <blockTable style="NEW-CONTENIDOTABLE-LINES" blockAlignment="LEFT"586 <blockTable style="NEW-CONTENIDOTABLE-LINES"
639 colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 36.0, 36.0, 23.0, 130.0, 25.0,587 colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 36.0, 23.0, 130.0, 25.0,
640 37.0,588 37.0,
641 23.0, 40.0, 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,589 23.0, 40.0, 20.0, 20.0,
642 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,590 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
643 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,591 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
644 35.0, 35.0, 35.0, 35.0, 35.0">592 35.0, 35.0, 35.0, 35.0, 35.0">
@@ -650,7 +598,6 @@
650 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero Control ]]</para></td>598 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero Control ]]</para></td>
651 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero de Doc ]]</para></td>599 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero de Doc ]]</para></td>
652 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero Impresora ]]</para></td>600 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero Impresora ]]</para></td>
653 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero de Factura de impresora ]]</para></td>
654 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Reporte Z ]]</para></td>601 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Reporte Z ]]</para></td>
655 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Factura Afectada ]]</para></td>602 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Factura Afectada ]]</para></td>
656 <td vAlign="MIDDLE"><para style="HEADER">[[ 'TOTALES' # Razon Social ]]</para></td>603 <td vAlign="MIDDLE"><para style="HEADER">[[ 'TOTALES' # Razon Social ]]</para></td>
@@ -662,15 +609,6 @@
662 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Declaracion ]]</para></td>609 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Declaracion ]]</para></td>
663 <td><para style="HEADER">[[ my_fb.imex_sdcf_vat_sum # SDCF ]]</para></td>610 <td><para style="HEADER">[[ my_fb.imex_sdcf_vat_sum # SDCF ]]</para></td>
664 <td><para style="HEADER">[[ my_fb.imex_exempt_vat_sum # Exento ]]</para></td>611 <td><para style="HEADER">[[ my_fb.imex_exempt_vat_sum # Exento ]]</para></td>
665 <td><para style="HEADER">[[ my_fb.imex_general_vat_base_sum # General | Base Imponible ]]</para></td>
666 <td><para style="HEADER">[[ '' # General | Alícuota ]]</para></td>
667 <td><para style="HEADER">[[ my_fb.imex_general_vat_tax_sum # General | Débito Fiscal ]]</para></td>
668 <td><para style="HEADER">[[ my_fb.imex_reduced_vat_base_sum # Reducido | Base Imponible ]]</para></td>
669 <td><para style="HEADER">[[ '' # Reducido | Alícuota ]]</para></td>
670 <td><para style="HEADER">[[ my_fb.imex_reduced_vat_tax_sum # Reducido | Débito Fiscal ]]</para></td>
671 <td><para style="HEADER">[[ my_fb.imex_additional_vat_base_sum # Adicional | Base Imponible ]]</para></td>
672 <td><para style="HEADER">[[ '' # Adicional | Alícuota ]]</para></td>
673 <td><para style="HEADER">[[ my_fb.imex_additional_vat_tax_sum # Adicional | Débito Fiscal ]]</para></td>
674 <!-- Ventas Internas / Contribuyentes -->612 <!-- Ventas Internas / Contribuyentes -->
675 <td><para style="HEADER">[[ my_fb.tp_sdcf_vat_sum # SDCF ]]</para></td>613 <td><para style="HEADER">[[ my_fb.tp_sdcf_vat_sum # SDCF ]]</para></td>
676 <td><para style="HEADER">[[ my_fb.tp_exempt_vat_sum # Exento ]]</para></td>614 <td><para style="HEADER">[[ my_fb.tp_exempt_vat_sum # Exento ]]</para></td>
@@ -772,19 +710,6 @@
772 </blockTable>710 </blockTable>
773 </section>711 </section>
774712
775<!--
776<blockTable colWidths="110.0" style="INTERNALTABLE">
777 <tr>
778 <td vAlign="MIDDLE">
779 <para>[[ validation(data['form']) and '.' or removeParentNode('blockTable') ]]</para>
780 <nextPage/>
781 OJO AQUI el next page estaba comentado.
782 </td>
783 </tr>
784</blockTable>
785
786-->
787
788 <spacer length='5mm'/>713 <spacer length='5mm'/>
789 <!-- ************ AJUSTMENT BOOK ************-->714 <!-- ************ AJUSTMENT BOOK ************-->
790<!--715<!--
791716
=== added directory 'l10n_ve_fiscal_book/security'
=== added file 'l10n_ve_fiscal_book/security/fiscal_book_security.xml'
--- l10n_ve_fiscal_book/security/fiscal_book_security.xml 1970-01-01 00:00:00 +0000
+++ l10n_ve_fiscal_book/security/fiscal_book_security.xml 2013-05-27 21:01:40 +0000
@@ -0,0 +1,16 @@
1<?xml version='1.0' encoding='UTF-8'?>
2<openerp>
3<data noupdate="1">
4
5 <record id="group_account_fiscal_book_manager" model="res.groups">
6 <field name="name">Fiscal Book / Manager</field>
7 </record>
8 <record id="group_account_fiscal_book_power_user" model="res.groups">
9 <field name="name">Fiscal Book / Power User</field>
10 </record>
11 <record id="group_account_fiscal_book_user" model="res.groups">
12 <field name="name">Fiscal Book / User</field>
13 </record>
14
15</data>
16</openerp>
017
=== added file 'l10n_ve_fiscal_book/security/ir.model.access.csv'
--- l10n_ve_fiscal_book/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
+++ l10n_ve_fiscal_book/security/ir.model.access.csv 2013-05-27 21:01:40 +0000
@@ -0,0 +1,16 @@
1"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
2"access_fb_fiscal_book_user","fb.fiscal.book.user","model_fiscal_book","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
3"access_fb_fiscal_book_line_user","fb.fiscal.book.lines.user","model_fiscal_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
4"access_fb_fiscal_book_taxes_user","fb.fiscal.book.taxes.user","model_fiscal_book_taxes","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
5"access_fb_fiscal_book_taxes_summary_user","fb.fiscal.book.taxes.summary.user","model_fiscal_book_taxes_summary","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
6"access_fb_adjustment_book_line_user","fb.adjustment.book.line.user","model_adjustment_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
7"access_fb_fiscal_book_power_user","fb.fiscal.book.power.user","model_fiscal_book","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
8"access_fb_fiscal_book_line_power_user","fb.fiscal.book.lines.power.user","model_fiscal_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
9"access_fb_fiscal_book_taxes_power_user","fb.fiscal.book.taxes.power.user","model_fiscal_book_taxes","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
10"access_fb_fiscal_book_taxes_summary_power_user","fb.fiscal.book.taxes.summary.power.user","model_fiscal_book_taxes_summary","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
11"access_fb_adjustment_book_line_power_user","fb.adjustment.book.line.power.user","model_adjustment_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
12"access_fb_fiscal_book_manager","fb.fiscal.book.manager","model_fiscal_book","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
13"access_fb_fiscal_book_line_manager","fb.fiscal.book.lines.manager","model_fiscal_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
14"access_fb_fiscal_book_taxes_manager","fb.fiscal.book.taxes.manager","model_fiscal_book_taxes","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
15"access_fb_fiscal_book_taxes_summary_manager","fb.fiscal.book.taxes.summary.manager","model_fiscal_book_taxes_summary","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
16"access_fb_adjustment_book_line_manager","fb.adjustment.book.line.manager","model_adjustment_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
017
=== modified file 'l10n_ve_fiscal_book/view/fiscal_book.xml'
--- l10n_ve_fiscal_book/view/fiscal_book.xml 2013-05-23 04:34:03 +0000
+++ l10n_ve_fiscal_book/view/fiscal_book.xml 2013-05-27 21:01:40 +0000
@@ -75,10 +75,14 @@
75 <field name="arch" type="xml">75 <field name="arch" type="xml">
76 <form string="Fiscal Sale Book" version="7.0">76 <form string="Fiscal Sale Book" version="7.0">
77 <header>77 <header>
78 <button name="update_book" type="object" string="Update Book" class="oe_highlight"/>78 <button name="update_book" type="object" string="Update Book" states="draft" class="oe_highlight"/>
79 <button name="clear_book" type="object" string="Clear Book" class="oe_highlight"/>79 <button name="clear_book" type="object" string="Clear Book" states="draft" class="oe_highlight"/>
80 <button name="%(fiscal_book_wizard_act)d" type="action" string="Print Book" class="oe_highlight"/>80 <button name="%(fiscal_book_wizard_act)d" type="action" string="Print Book" states="draft,confirmed,done" class="oe_highlight"/>
81 <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors="{&quot;draft&quot;:&quot;blue&quot;,&quot;open&quot;:&quot;green&quot;,&quot;done&quot;:&quot;red&quot;}"/>81 <button name="act_confirm" string="Confirm" states="draft" icon="gtk-go-forward"/>
82 <button name="act_done" string="Done" states="confirmed" icon="gtk-execute"/>
83 <button name="act_cancel" string="Cancel" states="confirmed,done" icon="gtk-cancel"/>
84 <button name="act_draft" colspan="2" string="Set to draft" states="cancel" icon="gtk-go-forward"/>
85 <field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors="{&quot;draft&quot;:&quot;blue&quot;,&quot;confirmed&quot;:&quot;green&quot;,&quot;done&quot;:&quot;red&quot;}"/>
82 </header>86 </header>
83 <group>87 <group>
84 <field name="name"/>88 <field name="name"/>
@@ -99,12 +103,12 @@
99 <field name="affected_invoice"/>103 <field name="affected_invoice"/>
100 <field name="partner_name"/>104 <field name="partner_name"/>
101 <field name="partner_vat"/>105 <field name="partner_vat"/>
102 <field name="total_with_iva" sum=""/>
103 <field name="type"/>106 <field name="type"/>
104 <field name="custom_statement"/>107 <field name="custom_statement"/>
105 <field name="imex_date"/>108 <field name="imex_date"/>
106 <field name="fiscal_printer"/>109 <field name="fiscal_printer"/>
107 <field name="z_report"/>110 <field name="z_report"/>
111 <field name="total_with_iva" sum=""/>
108 <field name="vat_sdcf"/>112 <field name="vat_sdcf"/>
109 <field name="vat_exempt"/>113 <field name="vat_exempt"/>
110 <field name="vat_general_base"/>114 <field name="vat_general_base"/>
@@ -268,10 +272,14 @@
268 <field name="arch" type="xml">272 <field name="arch" type="xml">
269 <form string="Fiscal Purchase Book" version="7.0">273 <form string="Fiscal Purchase Book" version="7.0">
270 <header>274 <header>
271 <button name="update_book" type="object" string="Update Book" class="oe_highlight"/>275 <button name="update_book" type="object" string="Update Book" states="draft" class="oe_highlight"/>
272 <button name="clear_book" type="object" string="Clear Book" class="oe_highlight"/>276 <button name="clear_book" type="object" string="Clear Book" states="draft" class="oe_highlight"/>
273 <button name="%(fiscal_book_wizard_act)d" type="action" string="Print Book" class="oe_highlight"/>277 <button name="%(fiscal_book_wizard_act)d" type="action" string="Print Book" states="draft,confirmed,done" class="oe_highlight"/>
274 <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors="{&quot;draft&quot;:&quot;blue&quot;,&quot;open&quot;:&quot;green&quot;,&quot;done&quot;:&quot;red&quot;}"/>278 <button name="act_confirm" string="Confirm" states="draft" icon="gtk-go-forward"/>
279 <button name="act_done" string="Done" states="confirmed" icon="gtk-execute"/>
280 <button name="act_cancel" string="Cancel" states="confirmed,done" icon="gtk-cancel"/>
281 <button name="act_draft" colspan="2" string="Set to draft" states="cancel" icon="gtk-go-forward"/>
282 <field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors="{&quot;draft&quot;:&quot;blue&quot;,&quot;confirmed&quot;:&quot;green&quot;,&quot;done&quot;:&quot;red&quot;}"/>
275 </header>283 </header>
276 <group>284 <group>
277 <field name="name"/>285 <field name="name"/>
@@ -412,4 +420,4 @@
412 <menuitem name="Fiscal Purchase Book" id="menu_fiscal_purchase_book" parent="menu_fr_main" action="action_fiscal_purchase_book"/>420 <menuitem name="Fiscal Purchase Book" id="menu_fiscal_purchase_book" parent="menu_fr_main" action="action_fiscal_purchase_book"/>
413421
414 </data>422 </data>
415</openerp>
416\ No newline at end of file423\ No newline at end of file
424</openerp>
417425
=== added directory 'l10n_ve_fiscal_book/workflow'
=== added file 'l10n_ve_fiscal_book/workflow/fb_workflow.xml'
--- l10n_ve_fiscal_book/workflow/fb_workflow.xml 1970-01-01 00:00:00 +0000
+++ l10n_ve_fiscal_book/workflow/fb_workflow.xml 2013-05-27 21:01:40 +0000
@@ -0,0 +1,80 @@
1<?xml version='1.0' encoding='UTF-8'?>
2<openerp>
3 <data>
4
5 <record id="fb_wkf" model="workflow">
6 <field name="name">Fiscal Book Workflow</field>
7 <field name="osv">fiscal.book</field>
8 <field name="on_create">True</field>
9 </record>
10
11<!--
12 Activity
13-->
14
15 <record id="act_draft" model="workflow.activity">
16 <field name="wkf_id" ref="fb_wkf"/>
17 <field name="name">draft</field>
18 <field name="kind">function</field>
19 <field name="action">write({'state':'draft'})</field>
20 <field name="flow_start">True</field>
21 </record>
22
23 <record id="act_confirmed" model="workflow.activity">
24 <field name="wkf_id" ref="fb_wkf"/>
25 <field name="name">confirmed</field>
26 <field name="kind">function</field>
27 <field name="action">update_book()
28write({'state':'confirmed'})</field>
29 </record>
30
31 <record id="act_done" model="workflow.activity">
32 <field name="wkf_id" ref="fb_wkf"/>
33 <field name="name">done</field>
34 <field name="kind">function</field>
35 <field name="action">write({'state':'done'})</field>
36 </record>
37
38 <record id="act_cancel" model="workflow.activity">
39 <field name="wkf_id" ref="fb_wkf"/>
40 <field name="name">cancel</field>
41 <field name="kind">function</field>
42 <field name="action">write({'state':'cancel'})</field>
43 </record>
44
45<!--
46 Transitions
47-->
48
49 <record id="trans_draft_confirmed" model="workflow.transition">
50 <field name="act_from" ref="act_draft"/>
51 <field name="act_to" ref="act_confirmed"/>
52 <field name="signal">act_confirm</field>
53 </record>
54
55 <record id="trans_confirmed_done" model="workflow.transition">
56 <field name="act_from" ref="act_confirmed"/>
57 <field name="act_to" ref="act_done"/>
58 <field name="signal">act_done</field>
59 </record>
60
61 <record id="trans_confirmed_cancel" model="workflow.transition">
62 <field name="act_from" ref="act_confirmed"/>
63 <field name="act_to" ref="act_cancel"/>
64 <field name="signal">act_cancel</field>
65 </record>
66
67 <record id="trans_done_cancel" model="workflow.transition">
68 <field name="act_from" ref="act_done"/>
69 <field name="act_to" ref="act_cancel"/>
70 <field name="signal">act_cancel</field>
71 </record>
72
73 <record id="trans_cancel_draft" model="workflow.transition">
74 <field name="act_from" ref="act_cancel"/>
75 <field name="act_to" ref="act_draft"/>
76 <field name="signal">act_draft</field>
77 </record>
78
79 </data>
80</openerp>