Merge lp:~vauxoo/openerp-venezuela-localization/ovl70-wh-rev-kty into lp:~vauxoo/openerp-venezuela-localization/ovl70-wh-rev-hbto
- ovl70-wh-rev-kty
- Merge into ovl70-wh-rev-hbto
Proposed by
Katherine Zaoral (Vauxoo)
Status: | Merged |
---|---|
Merged at revision: | 771 |
Proposed branch: | lp:~vauxoo/openerp-venezuela-localization/ovl70-wh-rev-kty |
Merge into: | lp:~vauxoo/openerp-venezuela-localization/ovl70-wh-rev-hbto |
Diff against target: |
4482 lines (+1051/-1223) 65 files modified
l10n_ve_fiscal_requirements/model/__init__.py (+1/-0) l10n_ve_fiscal_requirements/model/invoice.py (+9/-16) l10n_ve_fiscal_requirements/model/res_users.py (+47/-0) l10n_ve_fiscal_requirements/test/fr_damaged.yml (+1/-3) l10n_ve_fiscal_requirements/test/fr_purchase_test.yml (+2/-2) l10n_ve_fiscal_requirements/test/fr_refund_note.yml (+5/-11) l10n_ve_fiscal_requirements/test/fr_sale_test.yml (+1/-3) l10n_ve_fiscal_requirements/test/fr_vat_test.yml (+20/-13) l10n_ve_fiscal_requirements/view/account_inv_refund_nctrl_view.xml (+0/-1) l10n_ve_fiscal_requirements/view/account_invoice_view.xml (+0/-3) l10n_ve_fiscal_requirements/view/account_tax_view.xml (+0/-1) l10n_ve_fiscal_requirements/view/l10n_ut_view.xml (+0/-3) l10n_ve_fiscal_requirements/view/partner_view.xml (+0/-1) l10n_ve_fiscal_requirements/wizard/account_invoice_debit.py (+15/-38) l10n_ve_fiscal_requirements/wizard/account_invoice_debit_view.xml (+0/-1) l10n_ve_fiscal_requirements/wizard/account_invoice_parent_view.xml (+0/-1) l10n_ve_fiscal_requirements/wizard/account_invoice_refund.py (+19/-26) l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.py (+0/-1) l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.xml (+0/-1) l10n_ve_fiscal_requirements/wizard/update_info_partner.py (+0/-1) l10n_ve_fiscal_requirements/wizard/update_info_partner.xml (+0/-1) l10n_ve_fiscal_requirements/wizard/wizard_invoice_nro_ctrl_view.xml (+0/-1) l10n_ve_fiscal_requirements/wizard/wizard_nro_ctrl_view.xml (+0/-1) l10n_ve_fiscal_requirements/wizard/wizard_url_seniat_view.xml (+0/-1) l10n_ve_withholding/test/wh_pay_invoice.yml (+6/-5) l10n_ve_withholding/view/account_view.xml (+2/-0) l10n_ve_withholding_islr/__init__.py (+1/-1) l10n_ve_withholding_islr/__openerp__.py (+6/-6) l10n_ve_withholding_islr/demo/retencion_islr_sequence.xml (+6/-6) l10n_ve_withholding_islr/i18n/es.po (+54/-54) l10n_ve_withholding_islr/i18n/es_VE.po (+54/-54) l10n_ve_withholding_islr/model/installer.py (+9/-9) l10n_ve_withholding_islr/model/invoice.py (+71/-576) l10n_ve_withholding_islr/model/islr_wh_concept.py (+1/-1) l10n_ve_withholding_islr/model/islr_wh_doc.py (+320/-147) l10n_ve_withholding_islr/model/islr_xml_wh.py (+8/-8) l10n_ve_withholding_islr/model/partner.py (+3/-0) l10n_ve_withholding_islr/model/product.py (+2/-2) l10n_ve_withholding_islr/report/islr_wh_report.xml (+2/-2) l10n_ve_withholding_islr/view/installer.xml (+2/-3) l10n_ve_withholding_islr/view/invoice_view.xml (+11/-11) l10n_ve_withholding_islr/view/islr_wh_concept_view.xml (+7/-12) l10n_ve_withholding_islr/view/islr_wh_doc_view.xml (+85/-91) l10n_ve_withholding_islr/view/islr_xml_wh.xml (+2/-6) l10n_ve_withholding_islr/view/partner_view.xml (+0/-1) l10n_ve_withholding_islr/view/product_view.xml (+1/-3) l10n_ve_withholding_islr/view/wh_islr_view.xml (+1/-1) l10n_ve_withholding_islr/workflow/account_workflow.xml (+3/-3) l10n_ve_withholding_islr/workflow/islr_wh_workflow.xml (+7/-5) l10n_ve_withholding_iva/model/__init__.py (+0/-1) l10n_ve_withholding_src/__init__.py (+2/-0) l10n_ve_withholding_src/__openerp__.py (+4/-1) l10n_ve_withholding_src/data/data.xml (+22/-27) l10n_ve_withholding_src/model/__init__.py (+1/-0) l10n_ve_withholding_src/model/invoice.py (+36/-1) l10n_ve_withholding_src/model/partner.py (+8/-10) l10n_ve_withholding_src/model/wh_src.py (+43/-2) l10n_ve_withholding_src/security/ir.model.access.csv (+1/-0) l10n_ve_withholding_src/view/account_invoice_view.xml (+15/-2) l10n_ve_withholding_src/view/company_view.xml (+3/-3) l10n_ve_withholding_src/view/partner_view.xml (+12/-20) l10n_ve_withholding_src/view/wh_src_view.xml (+23/-18) l10n_ve_withholding_src/wizard/__init__.py (+2/-1) l10n_ve_withholding_src/wizard/wizard_retention.py (+59/-0) l10n_ve_withholding_src/wizard/wizard_retention_view.xml (+36/-0) |
To merge this branch: | bzr merge lp:~vauxoo/openerp-venezuela-localization/ovl70-wh-rev-kty |
Related bugs: | |
Related blueprints: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
hbto [Vauxoo] http://www.vauxoo.com | Pending | ||
Review via email: mp+143170@code.launchpad.net |
Commit message
Description of the change
[FIX] First revision of wh module
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'l10n_ve_fiscal_requirements/model/__init__.py' | |||
2 | --- l10n_ve_fiscal_requirements/model/__init__.py 2012-12-04 10:35:10 +0000 | |||
3 | +++ l10n_ve_fiscal_requirements/model/__init__.py 2013-01-14 19:15:27 +0000 | |||
4 | @@ -25,6 +25,7 @@ | |||
5 | 25 | import account | 25 | import account |
6 | 26 | import invoice | 26 | import invoice |
7 | 27 | import partner | 27 | import partner |
8 | 28 | import res_users | ||
9 | 28 | import res_company | 29 | import res_company |
10 | 29 | import seniat_url | 30 | import seniat_url |
11 | 30 | import l10n_ut | 31 | import l10n_ut |
12 | 31 | 32 | ||
13 | === modified file 'l10n_ve_fiscal_requirements/model/invoice.py' | |||
14 | --- l10n_ve_fiscal_requirements/model/invoice.py 2012-12-04 21:56:01 +0000 | |||
15 | +++ l10n_ve_fiscal_requirements/model/invoice.py 2013-01-14 19:15:27 +0000 | |||
16 | @@ -79,22 +79,6 @@ | |||
17 | 79 | _constraints = [ | 79 | _constraints = [ |
18 | 80 | (_unique_invoice_per_partner, _('The Document you have been entering for this Partner has already been recorded'),['Control Number (nro_ctrl)','Reference (reference)']), | 80 | (_unique_invoice_per_partner, _('The Document you have been entering for this Partner has already been recorded'),['Control Number (nro_ctrl)','Reference (reference)']), |
19 | 81 | ] | 81 | ] |
20 | 82 | |||
21 | 83 | def _refund_cleanup_lines(self, cr, uid, lines): | ||
22 | 84 | """ | ||
23 | 85 | Method created to clean invoice lines | ||
24 | 86 | """ | ||
25 | 87 | for line in lines: | ||
26 | 88 | del line['id'] | ||
27 | 89 | del line['invoice_id'] | ||
28 | 90 | #TODO Verify one more elegant way to do this | ||
29 | 91 | for field in ('company_id', 'partner_id', 'account_id', 'product_id', | ||
30 | 92 | 'uos_id', 'account_analytic_id', 'tax_code_id', 'base_code_id', | ||
31 | 93 | "concept_id","tax_id"): | ||
32 | 94 | line[field] = line.get(field, False) and line[field][0] | ||
33 | 95 | if 'invoice_line_tax_id' in line: | ||
34 | 96 | line['invoice_line_tax_id'] = [(6,0, line.get('invoice_line_tax_id', [])) ] | ||
35 | 97 | return map(lambda x: (0,0,x), lines) | ||
36 | 98 | 82 | ||
37 | 99 | def copy(self, cr, uid, id, default={}, context=None): | 83 | def copy(self, cr, uid, id, default={}, context=None): |
38 | 100 | if context is None: | 84 | if context is None: |
39 | @@ -108,4 +92,13 @@ | |||
40 | 108 | account_invoice() | 92 | account_invoice() |
41 | 109 | 93 | ||
42 | 110 | 94 | ||
43 | 95 | class account_invoice_tax(osv.osv): | ||
44 | 96 | _inherit = 'account.invoice.tax' | ||
45 | 97 | _columns = { | ||
46 | 98 | 'tax_id': fields.many2one('account.tax', 'Tax', required=False, ondelete='set null', | ||
47 | 99 | help="Tax relation to original tax, to be able to take off all data from invoices."), | ||
48 | 100 | } | ||
49 | 101 | |||
50 | 102 | account_invoice_tax() | ||
51 | 103 | |||
52 | 111 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: | 104 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
53 | 112 | 105 | ||
54 | === added file 'l10n_ve_fiscal_requirements/model/res_users.py' | |||
55 | --- l10n_ve_fiscal_requirements/model/res_users.py 1970-01-01 00:00:00 +0000 | |||
56 | +++ l10n_ve_fiscal_requirements/model/res_users.py 2013-01-14 19:15:27 +0000 | |||
57 | @@ -0,0 +1,47 @@ | |||
58 | 1 | #!/usr/bin/python | ||
59 | 2 | # -*- encoding: utf-8 -*- | ||
60 | 3 | ########################################################################### | ||
61 | 4 | # Module Writen to OpenERP, Open Source Management Solution | ||
62 | 5 | # Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>). | ||
63 | 6 | # All Rights Reserved | ||
64 | 7 | ###############Credits###################################################### | ||
65 | 8 | # Coded by: Humberto Arocha <humberto@vauxoo.com> | ||
66 | 9 | # MarĂa Gabriela Quilarque <gabriela@vauxoo.com> | ||
67 | 10 | # Nhomar Hernandez <nhomar@vauxoo.com> | ||
68 | 11 | # Planified by: Humberto Arocha | ||
69 | 12 | # Finance by: Helados Gilda, C.A. http://heladosgilda.com.ve | ||
70 | 13 | # Audited by: Humberto Arocha humberto@openerp.com.ve | ||
71 | 14 | ############################################################################# | ||
72 | 15 | # This program is free software: you can redistribute it and/or modify | ||
73 | 16 | # it under the terms of the GNU Affero General Public License as published by | ||
74 | 17 | # the Free Software Foundation, either version 3 of the License, or | ||
75 | 18 | # (at your option) any later version. | ||
76 | 19 | # | ||
77 | 20 | # This program is distributed in the hope that it will be useful, | ||
78 | 21 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
79 | 22 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
80 | 23 | # GNU Affero General Public License for more details. | ||
81 | 24 | # | ||
82 | 25 | # You should have received a copy of the GNU Affero General Public License | ||
83 | 26 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
84 | 27 | ############################################################################## | ||
85 | 28 | |||
86 | 29 | from osv import fields, osv | ||
87 | 30 | import tools | ||
88 | 31 | from tools.translate import _ | ||
89 | 32 | from tools import config | ||
90 | 33 | |||
91 | 34 | class res_users(osv.osv): | ||
92 | 35 | _inherit = 'res.users' | ||
93 | 36 | |||
94 | 37 | def create(self, cr, uid, vals, context=None): | ||
95 | 38 | if context is None: context = {} | ||
96 | 39 | context.update({'create_company':True}) | ||
97 | 40 | return super(res_users, self).create(cr, uid, vals, context=context) | ||
98 | 41 | |||
99 | 42 | def write(self, cr, uid, ids, values, context=None): | ||
100 | 43 | context = context or {} | ||
101 | 44 | context.update({'create_company':True}) | ||
102 | 45 | return super(res_users, self).write(cr, uid, ids, values, context=context) | ||
103 | 46 | |||
104 | 47 | res_users() | ||
105 | 0 | 48 | ||
106 | === modified file 'l10n_ve_fiscal_requirements/test/fr_damaged.yml' | |||
107 | --- l10n_ve_fiscal_requirements/test/fr_damaged.yml 2012-09-26 16:20:44 +0000 | |||
108 | +++ l10n_ve_fiscal_requirements/test/fr_damaged.yml 2013-01-14 19:15:27 +0000 | |||
109 | @@ -19,11 +19,9 @@ | |||
110 | 19 | company_id: base.main_company | 19 | company_id: base.main_company |
111 | 20 | currency_id: base.EUR | 20 | currency_id: base.EUR |
112 | 21 | date_invoice: !eval time.strftime('%Y-%m-%d') | 21 | date_invoice: !eval time.strftime('%Y-%m-%d') |
113 | 22 | address_contact_id: base.res_partner_address_3 | ||
114 | 23 | address_invoice_id: base.res_partner_address_3 | ||
115 | 24 | account_id: account.a_recv | 22 | account_id: account.a_recv |
116 | 25 | invoice_line: | 23 | invoice_line: |
118 | 26 | - product_id: product.product_product_pc2 | 24 | - product_id: product.product_product_3 |
119 | 27 | quantity: 5 | 25 | quantity: 5 |
120 | 28 | uos_id: product.product_uom_unit | 26 | uos_id: product.product_uom_unit |
121 | 29 | price_unit: 20 | 27 | price_unit: 20 |
122 | 30 | 28 | ||
123 | === modified file 'l10n_ve_fiscal_requirements/test/fr_purchase_test.yml' | |||
124 | --- l10n_ve_fiscal_requirements/test/fr_purchase_test.yml 2012-09-26 16:20:44 +0000 | |||
125 | +++ l10n_ve_fiscal_requirements/test/fr_purchase_test.yml 2013-01-14 19:15:27 +0000 | |||
126 | @@ -10,7 +10,7 @@ | |||
127 | 10 | date_invoice: !eval time.strftime('%Y-%m-%d') | 10 | date_invoice: !eval time.strftime('%Y-%m-%d') |
128 | 11 | account_id: account.a_recv | 11 | account_id: account.a_recv |
129 | 12 | invoice_line: | 12 | invoice_line: |
131 | 13 | - product_id: product.product_product_pc1 | 13 | - product_id: product.product_product_4 |
132 | 14 | quantity: 3 | 14 | quantity: 3 |
133 | 15 | uos_id: product.product_uom_unit | 15 | uos_id: product.product_uom_unit |
134 | 16 | price_unit: 3 | 16 | price_unit: 3 |
135 | @@ -18,7 +18,7 @@ | |||
136 | 18 | account_id: account.a_sale | 18 | account_id: account.a_sale |
137 | 19 | invoice_line_tax_id: | 19 | invoice_line_tax_id: |
138 | 20 | - iva_purchase1 | 20 | - iva_purchase1 |
140 | 21 | - product_id: product.product_product_pc2 | 21 | - product_id: product.product_product_3 |
141 | 22 | quantity: 5 | 22 | quantity: 5 |
142 | 23 | uos_id: product.product_uom_unit | 23 | uos_id: product.product_uom_unit |
143 | 24 | price_unit: 2 | 24 | price_unit: 2 |
144 | 25 | 25 | ||
145 | === modified file 'l10n_ve_fiscal_requirements/test/fr_refund_note.yml' | |||
146 | --- l10n_ve_fiscal_requirements/test/fr_refund_note.yml 2012-09-26 16:20:44 +0000 | |||
147 | +++ l10n_ve_fiscal_requirements/test/fr_refund_note.yml 2013-01-14 19:15:27 +0000 | |||
148 | @@ -8,11 +8,9 @@ | |||
149 | 8 | company_id: base.main_company | 8 | company_id: base.main_company |
150 | 9 | currency_id: base.EUR | 9 | currency_id: base.EUR |
151 | 10 | date_invoice: !eval time.strftime('%Y-%m-%d') | 10 | date_invoice: !eval time.strftime('%Y-%m-%d') |
152 | 11 | address_contact_id: base.res_partner_address_3 | ||
153 | 12 | address_invoice_id: base.res_partner_address_3 | ||
154 | 13 | account_id: account.a_recv | 11 | account_id: account.a_recv |
155 | 14 | invoice_line: | 12 | invoice_line: |
157 | 15 | - product_id: product.product_product_pc2 | 13 | - product_id: product.product_product_3 |
158 | 16 | quantity: 5 | 14 | quantity: 5 |
159 | 17 | uos_id: product.product_uom_unit | 15 | uos_id: product.product_uom_unit |
160 | 18 | price_unit: 20 | 16 | price_unit: 20 |
161 | @@ -105,10 +103,10 @@ | |||
162 | 105 | for line in rf_brw.invoice_line: | 103 | for line in rf_brw.invoice_line: |
163 | 106 | for tax in line.invoice_line_tax_id: | 104 | for tax in line.invoice_line_tax_id: |
164 | 107 | tax1.append(tax.id) | 105 | tax1.append(tax.id) |
166 | 108 | rf_brw = self.browse(cr, uid, ai_id[0]) | 106 | rf_brw = ai_id and self.browse(cr, uid, ai_id[0]) |
167 | 109 | tax2 = [] | 107 | tax2 = [] |
168 | 110 | whc2 = [] | 108 | whc2 = [] |
170 | 111 | for line in rf_brw.invoice_line: | 109 | for line in rf_brw and rf_brw.invoice_line: |
171 | 112 | for tax in line.invoice_line_tax_id: | 110 | for tax in line.invoice_line_tax_id: |
172 | 113 | tax2.append(tax.id) | 111 | tax2.append(tax.id) |
173 | 114 | tax1 = set(tax1) | 112 | tax1 = set(tax1) |
174 | @@ -126,11 +124,9 @@ | |||
175 | 126 | company_id: base.main_company | 124 | company_id: base.main_company |
176 | 127 | currency_id: base.EUR | 125 | currency_id: base.EUR |
177 | 128 | date_invoice: !eval time.strftime('%Y-%m-%d') | 126 | date_invoice: !eval time.strftime('%Y-%m-%d') |
178 | 129 | address_contact_id: base.res_partner_address_3 | ||
179 | 130 | address_invoice_id: base.res_partner_address_3 | ||
180 | 131 | account_id: account.a_recv | 127 | account_id: account.a_recv |
181 | 132 | invoice_line: | 128 | invoice_line: |
183 | 133 | - product_id: product.product_product_pc2 | 129 | - product_id: product.product_product_3 |
184 | 134 | quantity: 5 | 130 | quantity: 5 |
185 | 135 | uos_id: product.product_uom_unit | 131 | uos_id: product.product_uom_unit |
186 | 136 | price_unit: 20 | 132 | price_unit: 20 |
187 | @@ -232,11 +228,9 @@ | |||
188 | 232 | company_id: base.main_company | 228 | company_id: base.main_company |
189 | 233 | currency_id: base.EUR | 229 | currency_id: base.EUR |
190 | 234 | date_invoice: !eval time.strftime('%Y-%m-%d') | 230 | date_invoice: !eval time.strftime('%Y-%m-%d') |
191 | 235 | address_contact_id: base.res_partner_address_3 | ||
192 | 236 | address_invoice_id: base.res_partner_address_3 | ||
193 | 237 | account_id: account.a_recv | 231 | account_id: account.a_recv |
194 | 238 | invoice_line: | 232 | invoice_line: |
196 | 239 | - product_id: product.product_product_pc2 | 233 | - product_id: product.product_product_4 |
197 | 240 | quantity: 5 | 234 | quantity: 5 |
198 | 241 | uos_id: product.product_uom_unit | 235 | uos_id: product.product_uom_unit |
199 | 242 | price_unit: 20 | 236 | price_unit: 20 |
200 | 243 | 237 | ||
201 | === modified file 'l10n_ve_fiscal_requirements/test/fr_sale_test.yml' | |||
202 | --- l10n_ve_fiscal_requirements/test/fr_sale_test.yml 2012-09-26 16:20:44 +0000 | |||
203 | +++ l10n_ve_fiscal_requirements/test/fr_sale_test.yml 2013-01-14 19:15:27 +0000 | |||
204 | @@ -8,11 +8,9 @@ | |||
205 | 8 | company_id: base.main_company | 8 | company_id: base.main_company |
206 | 9 | currency_id: base.EUR | 9 | currency_id: base.EUR |
207 | 10 | date_invoice: !eval time.strftime('%Y-%m-%d') | 10 | date_invoice: !eval time.strftime('%Y-%m-%d') |
208 | 11 | address_contact_id: base.res_partner_address_3 | ||
209 | 12 | address_invoice_id: base.res_partner_address_3 | ||
210 | 13 | account_id: account.a_recv | 11 | account_id: account.a_recv |
211 | 14 | invoice_line: | 12 | invoice_line: |
213 | 15 | - product_id: product.product_product_pc2 | 13 | - product_id: product.product_product_3 |
214 | 16 | quantity: 5 | 14 | quantity: 5 |
215 | 17 | uos_id: product.product_uom_unit | 15 | uos_id: product.product_uom_unit |
216 | 18 | price_unit: 20 | 16 | price_unit: 20 |
217 | 19 | 17 | ||
218 | === modified file 'l10n_ve_fiscal_requirements/test/fr_vat_test.yml' | |||
219 | --- l10n_ve_fiscal_requirements/test/fr_vat_test.yml 2012-09-26 21:08:18 +0000 | |||
220 | +++ l10n_ve_fiscal_requirements/test/fr_vat_test.yml 2013-01-14 19:15:27 +0000 | |||
221 | @@ -1,15 +1,6 @@ | |||
222 | 1 | - | 1 | - |
223 | 2 | 5. Fiscal requirements Vat tests | 2 | 5. Fiscal requirements Vat tests |
224 | 3 | - | 3 | - |
225 | 4 | 5.1 Add address | ||
226 | 5 | - | ||
227 | 6 | !record {model: res.partner.address, id: test_fr_add01}: | ||
228 | 7 | type: invoice | ||
229 | 8 | street: Av Siempre Viva | ||
230 | 9 | phone: "(555) 5555555" | ||
231 | 10 | fax: "(555) 1111111" | ||
232 | 11 | email: fakemail@example.com | ||
233 | 12 | - | ||
234 | 13 | 5.2 I try to create a partner with wrong vat | 4 | 5.2 I try to create a partner with wrong vat |
235 | 14 | - | 5 | - |
236 | 15 | !python {model: res.partner}: | | 6 | !python {model: res.partner}: | |
237 | @@ -19,7 +10,11 @@ | |||
238 | 19 | 'supplier': True, | 10 | 'supplier': True, |
239 | 20 | 'customer': True, | 11 | 'customer': True, |
240 | 21 | 'vat': 'VEV333', | 12 | 'vat': 'VEV333', |
242 | 22 | 'address':[(6, 0, [ref("test_fr_add01")])] | 13 | 'type': 'invoice', |
243 | 14 | 'street': 'Av Siempre Viva', | ||
244 | 15 | 'phone': "(555) 5555555", | ||
245 | 16 | 'fax': "(555) 1111111", | ||
246 | 17 | 'email': 'fakemail@example.com', | ||
247 | 23 | } | 18 | } |
248 | 24 | part_id = False | 19 | part_id = False |
249 | 25 | try: | 20 | try: |
250 | @@ -46,7 +41,11 @@ | |||
251 | 46 | 'supplier': True, | 41 | 'supplier': True, |
252 | 47 | 'customer': True, | 42 | 'customer': True, |
253 | 48 | 'vat': 'VEJ112223330', | 43 | 'vat': 'VEJ112223330', |
255 | 49 | 'address': [(6, 0, [ref("test_fr_add01")])], | 44 | 'type': 'invoice', |
256 | 45 | 'street': 'Av Siempre Viva', | ||
257 | 46 | 'phone': "(555) 5555555", | ||
258 | 47 | 'fax': "(555) 1111111", | ||
259 | 48 | 'email': 'fakemail@example.com', | ||
260 | 50 | } | 49 | } |
261 | 51 | part_id = self.create(cr, uid, part) | 50 | part_id = self.create(cr, uid, part) |
262 | 52 | assert part_id, 'Partner should be created' | 51 | assert part_id, 'Partner should be created' |
263 | @@ -60,7 +59,11 @@ | |||
264 | 60 | 'supplier': True, | 59 | 'supplier': True, |
265 | 61 | 'customer': True, | 60 | 'customer': True, |
266 | 62 | 'vat': 'VEJ112223330', | 61 | 'vat': 'VEJ112223330', |
268 | 63 | 'address': [(6, 0, [ref("test_fr_add01")])], | 62 | 'type': 'invoice', |
269 | 63 | 'street': 'Av Siempre Viva', | ||
270 | 64 | 'phone': "(555) 5555555", | ||
271 | 65 | 'fax': "(555) 1111111", | ||
272 | 66 | 'email': 'fakemail@example.com', | ||
273 | 64 | } | 67 | } |
274 | 65 | try: | 68 | try: |
275 | 66 | rollback = cr.rollback | 69 | rollback = cr.rollback |
276 | @@ -86,7 +89,11 @@ | |||
277 | 86 | 'supplier': True, | 89 | 'supplier': True, |
278 | 87 | 'customer': True, | 90 | 'customer': True, |
279 | 88 | 'vat': 'VEJ223334445', | 91 | 'vat': 'VEJ223334445', |
281 | 89 | 'address': [(6, 0, [ref("test_fr_add01")])], | 92 | 'type': 'invoice', |
282 | 93 | 'street': 'Av Siempre Viva', | ||
283 | 94 | 'phone': "(555) 5555555", | ||
284 | 95 | 'fax': "(555) 1111111", | ||
285 | 96 | 'email': 'fakemail@example.com', | ||
286 | 90 | } | 97 | } |
287 | 91 | try: | 98 | try: |
288 | 92 | rollback = cr.rollback | 99 | rollback = cr.rollback |
289 | 93 | 100 | ||
290 | === modified file 'l10n_ve_fiscal_requirements/view/account_inv_refund_nctrl_view.xml' | |||
291 | --- l10n_ve_fiscal_requirements/view/account_inv_refund_nctrl_view.xml 2012-11-06 22:01:07 +0000 | |||
292 | +++ l10n_ve_fiscal_requirements/view/account_inv_refund_nctrl_view.xml 2013-01-14 19:15:27 +0000 | |||
293 | @@ -5,7 +5,6 @@ | |||
294 | 5 | <record id="view_account_inv_nctrl_refund" model="ir.ui.view"> | 5 | <record id="view_account_inv_nctrl_refund" model="ir.ui.view"> |
295 | 6 | <field name="name">account.inv.nctrl.refund.form</field> | 6 | <field name="name">account.inv.nctrl.refund.form</field> |
296 | 7 | <field name="model">account.invoice.refund</field> | 7 | <field name="model">account.invoice.refund</field> |
297 | 8 | <field name="type">form</field> | ||
298 | 9 | <field name="inherit_id" ref="account.view_account_invoice_refund"/> | 8 | <field name="inherit_id" ref="account.view_account_invoice_refund"/> |
299 | 10 | <field name="arch" type="xml"> | 9 | <field name="arch" type="xml"> |
300 | 11 | <xpath expr="//field[@name='period']" position="after"> | 10 | <xpath expr="//field[@name='period']" position="after"> |
301 | 12 | 11 | ||
302 | === modified file 'l10n_ve_fiscal_requirements/view/account_invoice_view.xml' | |||
303 | --- l10n_ve_fiscal_requirements/view/account_invoice_view.xml 2012-12-04 22:37:47 +0000 | |||
304 | +++ l10n_ve_fiscal_requirements/view/account_invoice_view.xml 2013-01-14 19:15:27 +0000 | |||
305 | @@ -10,7 +10,6 @@ | |||
306 | 10 | <record id="account_invoice_ext_view_form_loc_ve" model="ir.ui.view"> | 10 | <record id="account_invoice_ext_view_form_loc_ve" model="ir.ui.view"> |
307 | 11 | <field name="name">invoice_extended.account.invoice.form.loc_ve</field> | 11 | <field name="name">invoice_extended.account.invoice.form.loc_ve</field> |
308 | 12 | <field name="model">account.invoice</field> | 12 | <field name="model">account.invoice</field> |
309 | 13 | <field name="type">form</field> | ||
310 | 14 | <field name="inherit_id" ref="account.invoice_form"/> | 13 | <field name="inherit_id" ref="account.invoice_form"/> |
311 | 15 | <field name="arch" type="xml"> | 14 | <field name="arch" type="xml"> |
312 | 16 | <xpath expr="//field[@name='date_invoice']" position="replace"> | 15 | <xpath expr="//field[@name='date_invoice']" position="replace"> |
313 | @@ -91,7 +90,6 @@ | |||
314 | 91 | <record id="account_inv_ext_view_tree_crdr" model="ir.ui.view"> | 90 | <record id="account_inv_ext_view_tree_crdr" model="ir.ui.view"> |
315 | 92 | <field name="name">invoice_extended.tree.crdr</field> | 91 | <field name="name">invoice_extended.tree.crdr</field> |
316 | 93 | <field name="model">account.invoice</field> | 92 | <field name="model">account.invoice</field> |
317 | 94 | <field name="type">tree</field> | ||
318 | 95 | <field name="inherit_id" ref="account.invoice_tree"/> | 93 | <field name="inherit_id" ref="account.invoice_tree"/> |
319 | 96 | <field name="arch" type="xml"> | 94 | <field name="arch" type="xml"> |
320 | 97 | <xpath expr="//field[@name='origin']" position="after"> | 95 | <xpath expr="//field[@name='origin']" position="after"> |
321 | @@ -109,7 +107,6 @@ | |||
322 | 109 | <record id="account_invoice_ext_view_supp_form_loc_ve" model="ir.ui.view"> | 107 | <record id="account_invoice_ext_view_supp_form_loc_ve" model="ir.ui.view"> |
323 | 110 | <field name="name">invoice_extended.account.invoice.supplier.form.loc_ve</field> | 108 | <field name="name">invoice_extended.account.invoice.supplier.form.loc_ve</field> |
324 | 111 | <field name="model">account.invoice</field> | 109 | <field name="model">account.invoice</field> |
325 | 112 | <field name="type">form</field> | ||
326 | 113 | <field name="inherit_id" ref="account.invoice_supplier_form"/> | 110 | <field name="inherit_id" ref="account.invoice_supplier_form"/> |
327 | 114 | <field name="arch" type="xml"> | 111 | <field name="arch" type="xml"> |
328 | 115 | <xpath expr="//field[@name='date_invoice']" position="replace"> | 112 | <xpath expr="//field[@name='date_invoice']" position="replace"> |
329 | 116 | 113 | ||
330 | === modified file 'l10n_ve_fiscal_requirements/view/account_tax_view.xml' | |||
331 | --- l10n_ve_fiscal_requirements/view/account_tax_view.xml 2012-11-07 21:33:58 +0000 | |||
332 | +++ l10n_ve_fiscal_requirements/view/account_tax_view.xml 2013-01-14 19:15:27 +0000 | |||
333 | @@ -13,7 +13,6 @@ | |||
334 | 13 | <record id="account_tax_applicability_2" model="ir.ui.view"> | 13 | <record id="account_tax_applicability_2" model="ir.ui.view"> |
335 | 14 | <field name="name">account.tax.applicability</field> | 14 | <field name="name">account.tax.applicability</field> |
336 | 15 | <field name="model">account.tax</field> | 15 | <field name="model">account.tax</field> |
337 | 16 | <field name="type">form</field> | ||
338 | 17 | <field name="inherit_id" ref="account.view_tax_form"/> | 16 | <field name="inherit_id" ref="account.view_tax_form"/> |
339 | 18 | <field name="arch" type="xml"> | 17 | <field name="arch" type="xml"> |
340 | 19 | <xpath expr="//field[@name='active']" position="after"> | 18 | <xpath expr="//field[@name='active']" position="after"> |
341 | 20 | 19 | ||
342 | === modified file 'l10n_ve_fiscal_requirements/view/l10n_ut_view.xml' | |||
343 | --- l10n_ve_fiscal_requirements/view/l10n_ut_view.xml 2012-11-06 22:01:07 +0000 | |||
344 | +++ l10n_ve_fiscal_requirements/view/l10n_ut_view.xml 2013-01-14 19:15:27 +0000 | |||
345 | @@ -5,7 +5,6 @@ | |||
346 | 5 | <record id="view_l10n_ut_filter" model="ir.ui.view"> | 5 | <record id="view_l10n_ut_filter" model="ir.ui.view"> |
347 | 6 | <field name="name">l10n.ut.search</field> | 6 | <field name="name">l10n.ut.search</field> |
348 | 7 | <field name="model">l10n.ut</field> | 7 | <field name="model">l10n.ut</field> |
349 | 8 | <field name="type">search</field> | ||
350 | 9 | <field name="arch" type="xml"> | 8 | <field name="arch" type="xml"> |
351 | 10 | <search string="Search Tax Unit" version="7.0"> | 9 | <search string="Search Tax Unit" version="7.0"> |
352 | 11 | <group col="10" colspan="4"> | 10 | <group col="10" colspan="4"> |
353 | @@ -24,7 +23,6 @@ | |||
354 | 24 | <record model="ir.ui.view" id="view_l10n_ut_form"> | 23 | <record model="ir.ui.view" id="view_l10n_ut_form"> |
355 | 25 | <field name="name">l10n.ut.form</field> | 24 | <field name="name">l10n.ut.form</field> |
356 | 26 | <field name="model">l10n.ut</field> | 25 | <field name="model">l10n.ut</field> |
357 | 27 | <field name="type">form</field> | ||
358 | 28 | <field name="arch" type="xml"> | 26 | <field name="arch" type="xml"> |
359 | 29 | <form string="Tax Unit" version="7.0"> | 27 | <form string="Tax Unit" version="7.0"> |
360 | 30 | <group col="6" colspan="4"> | 28 | <group col="6" colspan="4"> |
361 | @@ -39,7 +37,6 @@ | |||
362 | 39 | <record model="ir.ui.view" id="view_l10n_ut_tree"> | 37 | <record model="ir.ui.view" id="view_l10n_ut_tree"> |
363 | 40 | <field name="name">l10n.ut.tree</field> | 38 | <field name="name">l10n.ut.tree</field> |
364 | 41 | <field name="model">l10n.ut</field> | 39 | <field name="model">l10n.ut</field> |
365 | 42 | <field name="type">tree</field> | ||
366 | 43 | <field name="arch" type="xml"> | 40 | <field name="arch" type="xml"> |
367 | 44 | <tree string="Tax Unit per date" editable="top"> | 41 | <tree string="Tax Unit per date" editable="top"> |
368 | 45 | <field name="name"/> | 42 | <field name="name"/> |
369 | 46 | 43 | ||
370 | === modified file 'l10n_ve_fiscal_requirements/view/partner_view.xml' | |||
371 | --- l10n_ve_fiscal_requirements/view/partner_view.xml 2012-12-09 23:00:04 +0000 | |||
372 | +++ l10n_ve_fiscal_requirements/view/partner_view.xml 2013-01-14 19:15:27 +0000 | |||
373 | @@ -5,7 +5,6 @@ | |||
374 | 5 | <record id="view_partner_form2" model="ir.ui.view"> | 5 | <record id="view_partner_form2" model="ir.ui.view"> |
375 | 6 | <field name="name">res.partner.vat.inherit2</field> | 6 | <field name="name">res.partner.vat.inherit2</field> |
376 | 7 | <field name="model">res.partner</field> | 7 | <field name="model">res.partner</field> |
377 | 8 | <field name="type">form</field> | ||
378 | 9 | <field name="inherit_id" ref="base.view_partner_form"/> | 8 | <field name="inherit_id" ref="base.view_partner_form"/> |
379 | 10 | <field name="arch" type="xml"> | 9 | <field name="arch" type="xml"> |
380 | 11 | 10 | ||
381 | 12 | 11 | ||
382 | === modified file 'l10n_ve_fiscal_requirements/wizard/account_invoice_debit.py' | |||
383 | --- l10n_ve_fiscal_requirements/wizard/account_invoice_debit.py 2012-12-04 19:17:53 +0000 | |||
384 | +++ l10n_ve_fiscal_requirements/wizard/account_invoice_debit.py 2013-01-14 19:15:27 +0000 | |||
385 | @@ -81,19 +81,6 @@ | |||
386 | 81 | res['fields'][field]['selection'] = journal_select | 81 | res['fields'][field]['selection'] = journal_select |
387 | 82 | return res | 82 | return res |
388 | 83 | 83 | ||
389 | 84 | def _get_period(self, cr, uid, context=None): | ||
390 | 85 | """ | ||
391 | 86 | Return default account period value | ||
392 | 87 | """ | ||
393 | 88 | if context is None: | ||
394 | 89 | context = {} | ||
395 | 90 | account_period_obj = self.pool.get('account.period') | ||
396 | 91 | ids = account_period_obj.find(cr, uid, context=context) | ||
397 | 92 | period_id = False | ||
398 | 93 | if ids: | ||
399 | 94 | period_id = ids[0] | ||
400 | 95 | return period_id | ||
401 | 96 | |||
402 | 97 | def _get_orig(self, cr, uid, inv, ref, context=None): | 84 | def _get_orig(self, cr, uid, inv, ref, context=None): |
403 | 98 | """ | 85 | """ |
404 | 99 | Return default origin value | 86 | Return default origin value |
405 | @@ -130,45 +117,39 @@ | |||
406 | 130 | date = False | 117 | date = False |
407 | 131 | period = False | 118 | period = False |
408 | 132 | description = False | 119 | description = False |
410 | 133 | company = res_users_obj.browse(cr, uid, uid, context=context).company_id | 120 | |
411 | 134 | journal_id = form.journal_id and form.journal_id.id or False | 121 | journal_id = form.journal_id and form.journal_id.id or False |
412 | 135 | inv = inv_obj.browse(cr, uid, context.get('active_ids')[0], context=context) | 122 | inv = inv_obj.browse(cr, uid, context.get('active_ids')[0], context=context) |
413 | 123 | #~ TODOK: no seria mejor ids=context.get(active_id) | ||
414 | 124 | |||
415 | 125 | company_id = inv.company_id.id | ||
416 | 126 | context.update({'company_id':company_id}) | ||
417 | 127 | |||
418 | 136 | if inv.state in ['draft', 'proforma2', 'cancel']: | 128 | if inv.state in ['draft', 'proforma2', 'cancel']: |
419 | 137 | raise osv.except_osv(_('Error !'), _('Can not create a debit note from draft/proforma/cancel invoice.')) | 129 | raise osv.except_osv(_('Error !'), _('Can not create a debit note from draft/proforma/cancel invoice.')) |
420 | 138 | if inv.reconciled in ('cancel', 'modify'): | 130 | if inv.reconciled in ('cancel', 'modify'): |
421 | 139 | raise osv.except_osv(_('Error !'), _('Can not create a debit note from invoice which is already reconciled, invoice should be unreconciled first. You can only Refund or Debit this invoice')) | 131 | raise osv.except_osv(_('Error !'), _('Can not create a debit note from invoice which is already reconciled, invoice should be unreconciled first. You can only Refund or Debit this invoice')) |
422 | 140 | if inv.type not in ['in_invoice', 'out_invoice']: | 132 | if inv.type not in ['in_invoice', 'out_invoice']: |
423 | 141 | raise osv.except_osv(_('Error !'), _('Can not make a debit note on a refund invoice.')) | 133 | raise osv.except_osv(_('Error !'), _('Can not make a debit note on a refund invoice.')) |
424 | 134 | |||
425 | 135 | #Check for the form fields | ||
426 | 136 | |||
427 | 142 | if form.period: | 137 | if form.period: |
428 | 143 | period = form.period.id | 138 | period = form.period.id |
429 | 144 | else: | 139 | else: |
430 | 145 | #Take period from the current date | 140 | #Take period from the current date |
433 | 146 | #period = inv.period_id and inv.period_id.id or False | 141 | period = self.pool.get('account.period').find(cr, uid, context=context) |
434 | 147 | period = self._get_period(cr, uid, context) | 142 | period = period and period[0] or False |
435 | 143 | if not period: | ||
436 | 144 | raise osv.except_osv(_('No Pediod Defined'), \ | ||
437 | 145 | _('You have been left empty the period field that automatically fill with the current period. However there is not period defined for the current company. Please check in Accounting/Configuration/Periods')) | ||
438 | 146 | self.write(cr, uid, ids, {'period': period }, context=context) | ||
439 | 148 | 147 | ||
440 | 149 | if not journal_id: | 148 | if not journal_id: |
441 | 150 | journal_id = inv.journal_id.id | 149 | journal_id = inv.journal_id.id |
442 | 151 | 150 | ||
443 | 152 | if form.date: | 151 | if form.date: |
444 | 153 | date = form.date | 152 | date = form.date |
445 | 154 | if not form.period.id: | ||
446 | 155 | cr.execute("select name from ir_model_fields \ | ||
447 | 156 | where model = 'account.period' \ | ||
448 | 157 | and name = 'company_id'") | ||
449 | 158 | result_query = cr.fetchone() | ||
450 | 159 | if result_query: | ||
451 | 160 | #in multi company mode | ||
452 | 161 | cr.execute("""select p.id from account_fiscalyear y, account_period p where y.id=p.fiscalyear_id \ | ||
453 | 162 | and date(%s) between p.date_start AND p.date_stop and y.company_id = %s limit 1""", (date, company.id,)) | ||
454 | 163 | else: | ||
455 | 164 | #in mono company mode | ||
456 | 165 | cr.execute("""SELECT id | ||
457 | 166 | from account_period where date(%s) | ||
458 | 167 | between date_start AND date_stop \ | ||
459 | 168 | limit 1 """, (date,)) | ||
460 | 169 | res = cr.fetchone() | ||
461 | 170 | if res: | ||
462 | 171 | period = res[0] | ||
463 | 172 | else: | 153 | else: |
464 | 173 | #Take current date | 154 | #Take current date |
465 | 174 | #date = inv.date_invoice | 155 | #date = inv.date_invoice |
466 | @@ -178,10 +159,6 @@ | |||
467 | 178 | else: | 159 | else: |
468 | 179 | description = inv.name | 160 | description = inv.name |
469 | 180 | 161 | ||
470 | 181 | if not period: | ||
471 | 182 | raise osv.except_osv(_('Data Insufficient !'), \ | ||
472 | 183 | _('No Period found on Invoice!')) | ||
473 | 184 | |||
474 | 185 | #we get original data of invoice to create a new invoice that is the copy of the original | 162 | #we get original data of invoice to create a new invoice that is the copy of the original |
475 | 186 | invoice = inv_obj.read(cr, uid, [inv.id], | 163 | invoice = inv_obj.read(cr, uid, [inv.id], |
476 | 187 | ['name', 'type', 'number', 'reference', | 164 | ['name', 'type', 'number', 'reference', |
477 | 188 | 165 | ||
478 | === modified file 'l10n_ve_fiscal_requirements/wizard/account_invoice_debit_view.xml' | |||
479 | --- l10n_ve_fiscal_requirements/wizard/account_invoice_debit_view.xml 2012-11-06 22:01:07 +0000 | |||
480 | +++ l10n_ve_fiscal_requirements/wizard/account_invoice_debit_view.xml 2013-01-14 19:15:27 +0000 | |||
481 | @@ -5,7 +5,6 @@ | |||
482 | 5 | <record id="view_account_invoice_debit" model="ir.ui.view"> | 5 | <record id="view_account_invoice_debit" model="ir.ui.view"> |
483 | 6 | <field name="name">account.invoice.debit.form</field> | 6 | <field name="name">account.invoice.debit.form</field> |
484 | 7 | <field name="model">account.invoice.debit</field> | 7 | <field name="model">account.invoice.debit</field> |
485 | 8 | <field name="type">form</field> | ||
486 | 9 | <field name="arch" type="xml"> | 8 | <field name="arch" type="xml"> |
487 | 10 | <form string="Debit Note" version="7.0"> | 9 | <form string="Debit Note" version="7.0"> |
488 | 11 | <separator string="Debit Note Options" colspan="4"/> | 10 | <separator string="Debit Note Options" colspan="4"/> |
489 | 12 | 11 | ||
490 | === modified file 'l10n_ve_fiscal_requirements/wizard/account_invoice_parent_view.xml' | |||
491 | --- l10n_ve_fiscal_requirements/wizard/account_invoice_parent_view.xml 2011-11-10 15:21:35 +0000 | |||
492 | +++ l10n_ve_fiscal_requirements/wizard/account_invoice_parent_view.xml 2013-01-14 19:15:27 +0000 | |||
493 | @@ -5,7 +5,6 @@ | |||
494 | 5 | <record id="view_account_invoice_parent" model="ir.ui.view"> | 5 | <record id="view_account_invoice_parent" model="ir.ui.view"> |
495 | 6 | <field name="name">account.invoice.parent.form</field> | 6 | <field name="name">account.invoice.parent.form</field> |
496 | 7 | <field name="model">account.invoice.parent</field> | 7 | <field name="model">account.invoice.parent</field> |
497 | 8 | <field name="type">form</field> | ||
498 | 9 | <field name="arch" type="xml"> | 8 | <field name="arch" type="xml"> |
499 | 10 | <form string="Debit Note"> | 9 | <form string="Debit Note"> |
500 | 11 | <separator string="Debit Note Options" colspan="4"/> | 10 | <separator string="Debit Note Options" colspan="4"/> |
501 | 12 | 11 | ||
502 | === modified file 'l10n_ve_fiscal_requirements/wizard/account_invoice_refund.py' | |||
503 | --- l10n_ve_fiscal_requirements/wizard/account_invoice_refund.py 2012-11-07 15:19:17 +0000 | |||
504 | +++ l10n_ve_fiscal_requirements/wizard/account_invoice_refund.py 2013-01-14 19:15:27 +0000 | |||
505 | @@ -79,21 +79,6 @@ | |||
506 | 79 | res['fields'][field]['selection'] = journal_select | 79 | res['fields'][field]['selection'] = journal_select |
507 | 80 | return res | 80 | return res |
508 | 81 | 81 | ||
509 | 82 | def _get_period(self, cr, uid, context={}): | ||
510 | 83 | """ | ||
511 | 84 | Return default account period value | ||
512 | 85 | """ | ||
513 | 86 | period_id= False | ||
514 | 87 | if context.get('active_id',False): | ||
515 | 88 | invo_obj = self.pool.get('account.invoice') | ||
516 | 89 | invo_brw = invo_obj.browse(cr,uid,context.get('active_id'),{}) | ||
517 | 90 | period_id = invo_brw and invo_brw.period_id and invo_brw.period_id.id | ||
518 | 91 | return period_id | ||
519 | 92 | |||
520 | 93 | |||
521 | 94 | |||
522 | 95 | return period_id | ||
523 | 96 | |||
524 | 97 | def _get_orig(self, cr, uid, inv, ref, context={}): | 82 | def _get_orig(self, cr, uid, inv, ref, context={}): |
525 | 98 | """ | 83 | """ |
526 | 99 | Return default origin value | 84 | Return default origin value |
527 | @@ -165,8 +150,15 @@ | |||
528 | 165 | raise osv.except_osv(_('Error !'), _('Can not %s draft/proforma/cancel invoice.') % (mode)) | 150 | raise osv.except_osv(_('Error !'), _('Can not %s draft/proforma/cancel invoice.') % (mode)) |
529 | 166 | if inv.reconciled and mode in ('cancel', 'modify'): | 151 | if inv.reconciled and mode in ('cancel', 'modify'): |
530 | 167 | raise osv.except_osv(_('Error !'), _('Can not %s invoice which is already reconciled, invoice should be unreconciled first. You can only Refund this invoice') % (mode)) | 152 | raise osv.except_osv(_('Error !'), _('Can not %s invoice which is already reconciled, invoice should be unreconciled first. You can only Refund this invoice') % (mode)) |
533 | 168 | #Take period from the current date | 153 | period = form.get('period') and form.get('period')[0] or False |
534 | 169 | period = form.get('period') and form.get('period')[0] or self._get_period(cr, uid, context) | 154 | if not period: |
535 | 155 | #Take period from the current date | ||
536 | 156 | period = self.pool.get('account.period').find(cr, uid, context=context) | ||
537 | 157 | period = period and period[0] or False | ||
538 | 158 | if not period: | ||
539 | 159 | raise osv.except_osv(_('No Pediod Defined'), \ | ||
540 | 160 | _('You have been left empty the period field that automatically fill with the current period. However there is not period defined for the current company. Please check in Accounting/Configuration/Periods')) | ||
541 | 161 | self.write(cr, uid, ids, {'period': period }, context=context) | ||
542 | 170 | 162 | ||
543 | 171 | if not journal_brw: | 163 | if not journal_brw: |
544 | 172 | journal_id = inv.journal_id.id | 164 | journal_id = inv.journal_id.id |
545 | @@ -253,9 +245,10 @@ | |||
546 | 253 | 'journal_id', 'period_id'], context=context) | 245 | 'journal_id', 'period_id'], context=context) |
547 | 254 | invoice = invoice[0] | 246 | invoice = invoice[0] |
548 | 255 | del invoice['id'] | 247 | del invoice['id'] |
550 | 256 | invoice_lines = inv_line_obj.read(cr, uid, invoice['invoice_line'], context=context) | 248 | invoice_lines = inv_line_obj.browse(cr, uid, invoice['invoice_line'], context=context) |
551 | 249 | |||
552 | 257 | invoice_lines = inv_obj._refund_cleanup_lines(cr, uid, invoice_lines) | 250 | invoice_lines = inv_obj._refund_cleanup_lines(cr, uid, invoice_lines) |
554 | 258 | tax_lines = inv_tax_obj.read(cr, uid, invoice['tax_line'], context=context) | 251 | tax_lines = inv_tax_obj.browse(cr, uid, invoice['tax_line'], context=context) |
555 | 259 | tax_lines = inv_obj._refund_cleanup_lines(cr, uid, tax_lines) | 252 | tax_lines = inv_obj._refund_cleanup_lines(cr, uid, tax_lines) |
556 | 260 | #Add origin value | 253 | #Add origin value |
557 | 261 | orig = self._get_orig(cr, uid, inv, invoice['reference'], context) | 254 | orig = self._get_orig(cr, uid, inv, invoice['reference'], context) |
558 | @@ -283,12 +276,12 @@ | |||
559 | 283 | 276 | ||
560 | 284 | new_inv_brw = inv_obj.browse(cr,uid,created_inv[1],context=context) | 277 | new_inv_brw = inv_obj.browse(cr,uid,created_inv[1],context=context) |
561 | 285 | inv_obj.write(cr,uid,created_inv[0],{'name':wzd_brw.description,'origin':new_inv_brw.origin},context=context) | 278 | inv_obj.write(cr,uid,created_inv[0],{'name':wzd_brw.description,'origin':new_inv_brw.origin},context=context) |
563 | 286 | inv_obj.write(cr,uid,created_inv[1],{'origin':inv.origin,'description':''},context=context) | 279 | inv_obj.write(cr,uid,created_inv[1],{'origin':inv.origin,'name':wzd_brw.description},context=context) |
564 | 287 | if inv.type in ('out_invoice', 'out_refund'): | 280 | if inv.type in ('out_invoice', 'out_refund'): |
565 | 288 | xml_id = 'action_invoice_tree3' | 281 | xml_id = 'action_invoice_tree3' |
569 | 289 | if hasattr(inv, 'sale_ids'): | 282 | #~ if hasattr(inv, 'sale_ids'): |
570 | 290 | for i in inv.sale_ids: | 283 | #~ for i in inv.sale_ids: |
571 | 291 | cr.execute('insert into sale_order_invoice_rel (order_id,invoice_id) values (%s,%s)', (i.id, refund_id[0])) | 284 | #~ cr.execute('insert into sale_order_invoice_rel (order_id,invoice_id) values (%s,%s)', (i.id, refund_id[0])) |
572 | 292 | else: | 285 | else: |
573 | 293 | xml_id = 'action_invoice_tree4' | 286 | xml_id = 'action_invoice_tree4' |
574 | 294 | result = mod_obj.get_object_reference(cr, uid, 'account', xml_id) | 287 | result = mod_obj.get_object_reference(cr, uid, 'account', xml_id) |
575 | @@ -300,11 +293,11 @@ | |||
576 | 300 | 293 | ||
577 | 301 | if wzd_brw.filter_refund == 'cancel': | 294 | if wzd_brw.filter_refund == 'cancel': |
578 | 302 | orig = self._get_orig(cr, uid, inv, inv.reference, context) | 295 | orig = self._get_orig(cr, uid, inv, inv.reference, context) |
580 | 303 | inv_obj.write(cr,uid,created_inv[0],{'origin':orig,'description':wzd_brw.description},context=context) | 296 | inv_obj.write(cr,uid,created_inv[0],{'origin':orig,'name':wzd_brw.description},context=context) |
581 | 304 | 297 | ||
582 | 305 | if wzd_brw.filter_refund == 'refund': | 298 | if wzd_brw.filter_refund == 'refund': |
583 | 306 | orig = self._get_orig(cr, uid, inv, inv.reference, context) | 299 | orig = self._get_orig(cr, uid, inv, inv.reference, context) |
585 | 307 | inv_obj.write(cr,uid,created_inv[0],{'origin':inv.origin,'description':wzd_brw.description},context=context) | 300 | inv_obj.write(cr,uid,created_inv[0],{'origin':inv.origin,'name':wzd_brw.description},context=context) |
586 | 308 | return result | 301 | return result |
587 | 309 | 302 | ||
588 | 310 | def validate_total_payment_inv(self, cr, uid, ids, context=None): | 303 | def validate_total_payment_inv(self, cr, uid, ids, context=None): |
589 | @@ -354,7 +347,7 @@ | |||
590 | 354 | if moveline.reconcile_partial_id: | 347 | if moveline.reconcile_partial_id: |
591 | 355 | rec += [moveline.reconcile_partial_id.id] | 348 | rec += [moveline.reconcile_partial_id.id] |
592 | 356 | movelines = moveline_obj.search(cr, uid, [('|'),('reconcile_id','in',rec),('reconcile_partial_id','in',rec)],context=context) | 349 | movelines = moveline_obj.search(cr, uid, [('|'),('reconcile_id','in',rec),('reconcile_partial_id','in',rec)],context=context) |
594 | 357 | for mids in moveline_obj.browse(cr, uid, movelines, ['move_id']): | 350 | for mids in moveline_obj.browse(cr, uid, movelines, context=context): |
595 | 358 | mid +=[mids.move_id.id] | 351 | mid +=[mids.move_id.id] |
596 | 359 | voucherids = voucher_pool.search(cr, uid,[('move_id','in',mid)]) | 352 | voucherids = voucher_pool.search(cr, uid,[('move_id','in',mid)]) |
597 | 360 | if voucherids: | 353 | if voucherids: |
598 | 361 | 354 | ||
599 | === modified file 'l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.py' | |||
600 | --- l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.py 2012-12-02 17:44:27 +0000 | |||
601 | +++ l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.py 2013-01-14 19:15:27 +0000 | |||
602 | @@ -19,7 +19,6 @@ | |||
603 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
604 | 20 | # | 20 | # |
605 | 21 | ############################################################################## | 21 | ############################################################################## |
606 | 22 | import wizard | ||
607 | 23 | import pooler | 22 | import pooler |
608 | 24 | from osv import osv, fields | 23 | from osv import osv, fields |
609 | 25 | from tools.translate import _ | 24 | from tools.translate import _ |
610 | 26 | 25 | ||
611 | === modified file 'l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.xml' | |||
612 | --- l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.xml 2012-09-26 21:07:02 +0000 | |||
613 | +++ l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.xml 2013-01-14 19:15:27 +0000 | |||
614 | @@ -4,7 +4,6 @@ | |||
615 | 4 | <record model="ir.ui.view" id="view_vat_search"> | 4 | <record model="ir.ui.view" id="view_vat_search"> |
616 | 5 | <field name="name">search.info.partner.seniat.form</field> | 5 | <field name="name">search.info.partner.seniat.form</field> |
617 | 6 | <field name="model">search.info.partner.seniat</field> | 6 | <field name="model">search.info.partner.seniat</field> |
618 | 7 | <field name="type">form</field> | ||
619 | 8 | <field name="arch" type="xml"> | 7 | <field name="arch" type="xml"> |
620 | 9 | <form string="Wizard to search partner on SENIAT"> | 8 | <form string="Wizard to search partner on SENIAT"> |
621 | 10 | <group colspan="4"> | 9 | <group colspan="4"> |
622 | 11 | 10 | ||
623 | === modified file 'l10n_ve_fiscal_requirements/wizard/update_info_partner.py' | |||
624 | --- l10n_ve_fiscal_requirements/wizard/update_info_partner.py 2012-12-02 18:34:29 +0000 | |||
625 | +++ l10n_ve_fiscal_requirements/wizard/update_info_partner.py 2013-01-14 19:15:27 +0000 | |||
626 | @@ -19,7 +19,6 @@ | |||
627 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
628 | 20 | # | 20 | # |
629 | 21 | ############################################################################## | 21 | ############################################################################## |
630 | 22 | import wizard | ||
631 | 23 | import pooler | 22 | import pooler |
632 | 24 | from osv import osv, fields | 23 | from osv import osv, fields |
633 | 25 | from tools.translate import _ | 24 | from tools.translate import _ |
634 | 26 | 25 | ||
635 | === modified file 'l10n_ve_fiscal_requirements/wizard/update_info_partner.xml' | |||
636 | --- l10n_ve_fiscal_requirements/wizard/update_info_partner.xml 2011-10-25 20:33:16 +0000 | |||
637 | +++ l10n_ve_fiscal_requirements/wizard/update_info_partner.xml 2013-01-14 19:15:27 +0000 | |||
638 | @@ -7,7 +7,6 @@ | |||
639 | 7 | <record id="view_wizard_update_info_partner" model="ir.ui.view"> | 7 | <record id="view_wizard_update_info_partner" model="ir.ui.view"> |
640 | 8 | <field name="name">view.update.info.partner</field> | 8 | <field name="name">view.update.info.partner</field> |
641 | 9 | <field name="model">update.info.partner</field> | 9 | <field name="model">update.info.partner</field> |
642 | 10 | <field name="type">form</field> | ||
643 | 11 | <field name="arch" type="xml"> | 10 | <field name="arch" type="xml"> |
644 | 12 | <form string=""> | 11 | <form string=""> |
645 | 13 | <separator string="Are you sure you want to do this?" colspan="4"/> | 12 | <separator string="Are you sure you want to do this?" colspan="4"/> |
646 | 14 | 13 | ||
647 | === modified file 'l10n_ve_fiscal_requirements/wizard/wizard_invoice_nro_ctrl_view.xml' | |||
648 | --- l10n_ve_fiscal_requirements/wizard/wizard_invoice_nro_ctrl_view.xml 2012-04-11 21:48:15 +0000 | |||
649 | +++ l10n_ve_fiscal_requirements/wizard/wizard_invoice_nro_ctrl_view.xml 2013-01-14 19:15:27 +0000 | |||
650 | @@ -4,7 +4,6 @@ | |||
651 | 4 | <record id="view_wizard_invoice_nro_ctrl" model="ir.ui.view"> | 4 | <record id="view_wizard_invoice_nro_ctrl" model="ir.ui.view"> |
652 | 5 | <field name="name">view.wizard.invoice.nro.ctrl</field> | 5 | <field name="name">view.wizard.invoice.nro.ctrl</field> |
653 | 6 | <field name="model">wizard.invoice.nro.ctrl</field> | 6 | <field name="model">wizard.invoice.nro.ctrl</field> |
654 | 7 | <field name="type">form</field> | ||
655 | 8 | <field name="arch" type="xml"> | 7 | <field name="arch" type="xml"> |
656 | 9 | <form string="Create an invoice to justify the damaged one"> | 8 | <form string="Create an invoice to justify the damaged one"> |
657 | 10 | <group colspan="8" col="8"> | 9 | <group colspan="8" col="8"> |
658 | 11 | 10 | ||
659 | === modified file 'l10n_ve_fiscal_requirements/wizard/wizard_nro_ctrl_view.xml' | |||
660 | --- l10n_ve_fiscal_requirements/wizard/wizard_nro_ctrl_view.xml 2012-02-09 21:33:03 +0000 | |||
661 | +++ l10n_ve_fiscal_requirements/wizard/wizard_nro_ctrl_view.xml 2013-01-14 19:15:27 +0000 | |||
662 | @@ -4,7 +4,6 @@ | |||
663 | 4 | <record model="ir.ui.view" id="wizard_nro_ctrl_form"> | 4 | <record model="ir.ui.view" id="wizard_nro_ctrl_form"> |
664 | 5 | <field name="name">wizard.nro.ctrl.form</field> | 5 | <field name="name">wizard.nro.ctrl.form</field> |
665 | 6 | <field name="model">wiz.nroctrl</field> | 6 | <field name="model">wiz.nroctrl</field> |
666 | 7 | <field name="type">form</field> | ||
667 | 8 | <field name="arch" type="xml"> | 7 | <field name="arch" type="xml"> |
668 | 9 | <form string="Changing the Control Number"> | 8 | <form string="Changing the Control Number"> |
669 | 10 | <field name="name" /> | 9 | <field name="name" /> |
670 | 11 | 10 | ||
671 | === modified file 'l10n_ve_fiscal_requirements/wizard/wizard_url_seniat_view.xml' | |||
672 | --- l10n_ve_fiscal_requirements/wizard/wizard_url_seniat_view.xml 2012-07-16 18:55:40 +0000 | |||
673 | +++ l10n_ve_fiscal_requirements/wizard/wizard_url_seniat_view.xml 2013-01-14 19:15:27 +0000 | |||
674 | @@ -4,7 +4,6 @@ | |||
675 | 4 | <record id="view_wizard_url_seniat" model="ir.ui.view"> | 4 | <record id="view_wizard_url_seniat" model="ir.ui.view"> |
676 | 5 | <field name="name">view.wizard.seniat.url</field> | 5 | <field name="name">view.wizard.seniat.url</field> |
677 | 6 | <field name="model">wizard.seniat.url</field> | 6 | <field name="model">wizard.seniat.url</field> |
678 | 7 | <field name="type">form</field> | ||
679 | 8 | <field name="arch" type="xml"> | 7 | <field name="arch" type="xml"> |
680 | 9 | <form string="Update Url From Seniat"> | 8 | <form string="Update Url From Seniat"> |
681 | 10 | <separator string="URL Seniat for Partner Information" colspan="4"/> | 9 | <separator string="URL Seniat for Partner Information" colspan="4"/> |
682 | 11 | 10 | ||
683 | === modified file 'l10n_ve_withholding/test/wh_pay_invoice.yml' | |||
684 | --- l10n_ve_withholding/test/wh_pay_invoice.yml 2012-09-27 21:43:13 +0000 | |||
685 | +++ l10n_ve_withholding/test/wh_pay_invoice.yml 2013-01-14 19:15:27 +0000 | |||
686 | @@ -14,14 +14,14 @@ | |||
687 | 14 | journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None) | 14 | journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None) |
688 | 15 | res = self.onchange_partner_id(cr, uid, [], inv_brw.partner_id.id, journal_id, 0.0, 1, ttype='receipt', date=False) | 15 | res = self.onchange_partner_id(cr, uid, [], inv_brw.partner_id.id, journal_id, 0.0, 1, ttype='receipt', date=False) |
689 | 16 | ap_obj = self.pool.get('account.period') | 16 | ap_obj = self.pool.get('account.period') |
691 | 17 | period = ap_obj.find(cr, uid, time.strftime('%Y/%m/%d'), context={'company_id':ref("base.main_company")}) | 17 | period = ap_obj.find(cr, uid, time.strftime('%Y/%m/%d'), context={'company_id':ref("base.main_company")})[0] |
692 | 18 | vals = { | 18 | vals = { |
693 | 19 | 'account_id': ref('account.cash'), | 19 | 'account_id': ref('account.cash'), |
695 | 20 | 'amount': inv_brw.amount, | 20 | 'amount': inv_brw.amount_total, |
696 | 21 | 'company_id': ref('base.main_company'), | 21 | 'company_id': ref('base.main_company'), |
697 | 22 | 'currency_id': ref('base.EUR'), | 22 | 'currency_id': ref('base.EUR'), |
698 | 23 | 'journal_id': ref('account.bank_journal'), | 23 | 'journal_id': ref('account.bank_journal'), |
700 | 24 | 'partner_id': ref('inv_brw.partner_id.id'), | 24 | 'partner_id': inv_brw.partner_id.id, |
701 | 25 | 'period_id': period, | 25 | 'period_id': period, |
702 | 26 | 'type': 'receipt', | 26 | 'type': 'receipt', |
703 | 27 | } | 27 | } |
704 | @@ -39,9 +39,10 @@ | |||
705 | 39 | 1.2 I check that the invoice state is "Open" | 39 | 1.2 I check that the invoice state is "Open" |
706 | 40 | - | 40 | - |
707 | 41 | !python {model: account.voucher}: | | 41 | !python {model: account.voucher}: | |
708 | 42 | import time | ||
709 | 42 | inv_obj = self.pool.get("account.invoice") | 43 | inv_obj = self.pool.get("account.invoice") |
710 | 43 | inv_brw = inv_obj.browse(cr, uid, ref("l10n_ve_fiscal_requirements.test_fr01")) | 44 | inv_brw = inv_obj.browse(cr, uid, ref("l10n_ve_fiscal_requirements.test_fr01")) |
711 | 44 | lines = inv_brw.invoice_line | 45 | lines = inv_brw.invoice_line |
712 | 45 | data = self.onchange_journal(cr, uid, [ref("l10n_ve_fiscal_requirements.test_fr01")], 5, lines, False, | 46 | data = self.onchange_journal(cr, uid, [ref("l10n_ve_fiscal_requirements.test_fr01")], 5, lines, False, |
715 | 46 | inv_brw.partner_id, time.strftime('%Y-%m-%d'), | 47 | inv_brw.partner_id.id, time.strftime('%Y-%m-%d'), |
716 | 47 | inv_brw.amount, ttype, base.main_company, context=None) | 48 | inv_brw.amount_total, 'receipt', ref('base.main_company'), context=None) |
717 | 48 | 49 | ||
718 | === modified file 'l10n_ve_withholding/view/account_view.xml' | |||
719 | --- l10n_ve_withholding/view/account_view.xml 2012-12-10 12:16:26 +0000 | |||
720 | +++ l10n_ve_withholding/view/account_view.xml 2013-01-14 19:15:27 +0000 | |||
721 | @@ -24,6 +24,7 @@ | |||
722 | 24 | </field> | 24 | </field> |
723 | 25 | </record> | 25 | </record> |
724 | 26 | 26 | ||
725 | 27 | <!-- | ||
726 | 27 | <record id="view_move_line_tax_tree_iva" model="ir.ui.view"> | 28 | <record id="view_move_line_tax_tree_iva" model="ir.ui.view"> |
727 | 28 | <field name="name">account.move.line.tax.tree.iva</field> | 29 | <field name="name">account.move.line.tax.tree.iva</field> |
728 | 29 | <field name="model">account.move.line</field> | 30 | <field name="model">account.move.line</field> |
729 | @@ -36,6 +37,7 @@ | |||
730 | 36 | </field> | 37 | </field> |
731 | 37 | </field> | 38 | </field> |
732 | 38 | </record> | 39 | </record> |
733 | 40 | --> | ||
734 | 39 | 41 | ||
735 | 40 | 42 | ||
736 | 41 | <record id="view_move_form_iva" model="ir.ui.view"> | 43 | <record id="view_move_form_iva" model="ir.ui.view"> |
737 | 42 | 44 | ||
738 | === modified file 'l10n_ve_withholding_islr/__init__.py' | |||
739 | --- l10n_ve_withholding_islr/__init__.py 2012-12-09 23:55:45 +0000 | |||
740 | +++ l10n_ve_withholding_islr/__init__.py 2013-01-14 19:15:27 +0000 | |||
741 | @@ -28,4 +28,4 @@ | |||
742 | 28 | import model | 28 | import model |
743 | 29 | import report | 29 | import report |
744 | 30 | import wizard | 30 | import wizard |
746 | 31 | import edi | 31 | #import edi |
747 | 32 | 32 | ||
748 | === modified file 'l10n_ve_withholding_islr/__openerp__.py' | |||
749 | --- l10n_ve_withholding_islr/__openerp__.py 2012-12-18 17:46:39 +0000 | |||
750 | +++ l10n_ve_withholding_islr/__openerp__.py 2013-01-14 19:15:27 +0000 | |||
751 | @@ -27,16 +27,16 @@ | |||
752 | 27 | ############################################################################## | 27 | ############################################################################## |
753 | 28 | 28 | ||
754 | 29 | { | 29 | { |
756 | 30 | "name" : "Automatically Calculation Withholding Income", | 30 | "name" : "Automatically Calculation Income Withholding", |
757 | 31 | "version" : "0.1", | 31 | "version" : "0.1", |
758 | 32 | "author" : "Vauxoo", | 32 | "author" : "Vauxoo", |
759 | 33 | "category" : "General", | 33 | "category" : "General", |
760 | 34 | "website": "http://wiki.openerp.org.ve/", | 34 | "website": "http://wiki.openerp.org.ve/", |
764 | 35 | "description": ''' - Generate the voucher of withholding income to validate the invoice. | 35 | "description": ''' - Generate the voucher of income withholding to validate the invoice. |
765 | 36 | - Generate the report of voucher of withholding income. | 36 | - Generate the report of voucher of income withholding. |
766 | 37 | - Generate the file .xml required by the Venezuelan laws, for agent of withholding income specials. | 37 | - Generate the file .xml required by the Venezuelan laws, for agent of income withholding specials. |
767 | 38 | - Generate view for load the concepts of wittholding whith their rates. | 38 | - Generate view for load the concepts of wittholding whith their rates. |
769 | 39 | - Generate view for visualize the withholding income for suppilers and customers. | 39 | - Generate view for visualize the income withholding for suppilers and customers. |
770 | 40 | - Load data of the 86 concepts of wittholdings whith their rates. | 40 | - Load data of the 86 concepts of wittholdings whith their rates. |
771 | 41 | - Send an email to supplier with approved withholdings, if not opt_out in the partner | 41 | - Send an email to supplier with approved withholdings, if not opt_out in the partner |
772 | 42 | If you want be able to propose withholding concepts from sales and purchases you must install extra module @section{l10n_ve_sale_purchase}. | 42 | If you want be able to propose withholding concepts from sales and purchases you must install extra module @section{l10n_ve_sale_purchase}. |
773 | @@ -63,7 +63,7 @@ | |||
774 | 63 | "view/islr_xml_wh.xml", | 63 | "view/islr_xml_wh.xml", |
775 | 64 | "workflow/islr_wh_workflow.xml", | 64 | "workflow/islr_wh_workflow.xml", |
776 | 65 | "workflow/account_workflow.xml", | 65 | "workflow/account_workflow.xml", |
778 | 66 | "edi/islr_wh_doc_action_data.xml", | 66 | #"edi/islr_wh_doc_action_data.xml", |
779 | 67 | 67 | ||
780 | 68 | ], | 68 | ], |
781 | 69 | 'test': [ | 69 | 'test': [ |
782 | 70 | 70 | ||
783 | === modified file 'l10n_ve_withholding_islr/demo/retencion_islr_sequence.xml' | |||
784 | --- l10n_ve_withholding_islr/demo/retencion_islr_sequence.xml 2012-12-19 18:17:09 +0000 | |||
785 | +++ l10n_ve_withholding_islr/demo/retencion_islr_sequence.xml 2013-01-14 19:15:27 +0000 | |||
786 | @@ -4,12 +4,12 @@ | |||
787 | 4 | 4 | ||
788 | 5 | <!-- Sequences type for account.retention --> | 5 | <!-- Sequences type for account.retention --> |
789 | 6 | <record id="seq_type_islr_wh" model="ir.sequence.type"> | 6 | <record id="seq_type_islr_wh" model="ir.sequence.type"> |
791 | 7 | <field name="name">Withholding Income</field> | 7 | <field name="name">Income Withholding</field> |
792 | 8 | <field name="code">islr.wh.doc</field> | 8 | <field name="code">islr.wh.doc</field> |
793 | 9 | </record> | 9 | </record> |
794 | 10 | 10 | ||
795 | 11 | <record id="seq_account_wh_islr" model="ir.sequence"> | 11 | <record id="seq_account_wh_islr" model="ir.sequence"> |
797 | 12 | <field name="name">Withholding Income</field> | 12 | <field name="name">Income Withholding</field> |
798 | 13 | <field name="code">islr.wh.doc</field> | 13 | <field name="code">islr.wh.doc</field> |
799 | 14 | <field name="prefix">RE:</field> | 14 | <field name="prefix">RE:</field> |
800 | 15 | <field name="padding">8</field> | 15 | <field name="padding">8</field> |
801 | @@ -17,12 +17,12 @@ | |||
802 | 17 | </record> | 17 | </record> |
803 | 18 | 18 | ||
804 | 19 | <record id="seq_type_wh_islr_purchase" model="ir.sequence.type"> | 19 | <record id="seq_type_wh_islr_purchase" model="ir.sequence.type"> |
806 | 20 | <field name="name">Purchase Withholding Income</field> | 20 | <field name="name">Purchase Income Withholding</field> |
807 | 21 | <field name="code">islr.wh.doc.in_invoice</field> | 21 | <field name="code">islr.wh.doc.in_invoice</field> |
808 | 22 | </record> | 22 | </record> |
809 | 23 | 23 | ||
810 | 24 | <record id="seq_wh_islr_purchase" model="ir.sequence"> | 24 | <record id="seq_wh_islr_purchase" model="ir.sequence"> |
812 | 25 | <field name="name">Purchase Withholding Income</field> | 25 | <field name="name">Purchase Income Withholding</field> |
813 | 26 | <field name="code">islr.wh.doc.in_invoice</field> | 26 | <field name="code">islr.wh.doc.in_invoice</field> |
814 | 27 | <field name="prefix">%(year)s-%(month)s-</field> | 27 | <field name="prefix">%(year)s-%(month)s-</field> |
815 | 28 | <field name="padding">8</field> | 28 | <field name="padding">8</field> |
816 | @@ -30,12 +30,12 @@ | |||
817 | 30 | </record> | 30 | </record> |
818 | 31 | 31 | ||
819 | 32 | <record id="seq_type_wh_islr_sales" model="ir.sequence.type"> | 32 | <record id="seq_type_wh_islr_sales" model="ir.sequence.type"> |
821 | 33 | <field name="name">Sale Withholding Income</field> | 33 | <field name="name">Sale Income Withholding</field> |
822 | 34 | <field name="code">islr.wh.doc.out_invoice</field> | 34 | <field name="code">islr.wh.doc.out_invoice</field> |
823 | 35 | </record> | 35 | </record> |
824 | 36 | 36 | ||
825 | 37 | <record id="seq_wh_islr_sales" model="ir.sequence"> | 37 | <record id="seq_wh_islr_sales" model="ir.sequence"> |
827 | 38 | <field name="name">Sale Withholding Income</field> | 38 | <field name="name">Sale Income Withholding</field> |
828 | 39 | <field name="code">islr.wh.doc.out_invoice</field> | 39 | <field name="code">islr.wh.doc.out_invoice</field> |
829 | 40 | <field name="prefix">%(year)s-%(month)s-</field> | 40 | <field name="prefix">%(year)s-%(month)s-</field> |
830 | 41 | <field name="padding">8</field> | 41 | <field name="padding">8</field> |
831 | 42 | 42 | ||
832 | === modified file 'l10n_ve_withholding_islr/i18n/es.po' | |||
833 | --- l10n_ve_withholding_islr/i18n/es.po 2012-02-09 19:23:11 +0000 | |||
834 | +++ l10n_ve_withholding_islr/i18n/es.po 2013-01-14 19:15:27 +0000 | |||
835 | @@ -22,7 +22,7 @@ | |||
836 | 22 | 22 | ||
837 | 23 | #. module: l10n_ve_withholding_islr | 23 | #. module: l10n_ve_withholding_islr |
838 | 24 | #: view:islr.wh.doc:0 | 24 | #: view:islr.wh.doc:0 |
840 | 25 | msgid "Print Withholding Income" | 25 | msgid "Print Income Withholding" |
841 | 26 | msgstr "Imprimir comprobante de retenciĂ³n" | 26 | msgstr "Imprimir comprobante de retenciĂ³n" |
842 | 27 | 27 | ||
843 | 28 | #. module: l10n_ve_withholding_islr | 28 | #. module: l10n_ve_withholding_islr |
844 | @@ -37,7 +37,7 @@ | |||
845 | 37 | 37 | ||
846 | 38 | #. module: l10n_ve_withholding_islr | 38 | #. module: l10n_ve_withholding_islr |
847 | 39 | #: field:islr.xml.wh.doc,amount_total_ret:0 | 39 | #: field:islr.xml.wh.doc,amount_total_ret:0 |
849 | 40 | msgid "Withholding Income Amount Total" | 40 | msgid "Income Withholding Amount Total" |
850 | 41 | msgstr "Monto Total de RetenciĂ³n de ISLR" | 41 | msgstr "Monto Total de RetenciĂ³n de ISLR" |
851 | 42 | 42 | ||
852 | 43 | #. module: l10n_ve_withholding_islr | 43 | #. module: l10n_ve_withholding_islr |
853 | @@ -53,7 +53,7 @@ | |||
854 | 53 | #. module: l10n_ve_withholding_islr | 53 | #. module: l10n_ve_withholding_islr |
855 | 54 | #: code:addons/l10n_ve_withholding_islr/invoice.py:461 | 54 | #: code:addons/l10n_ve_withholding_islr/invoice.py:461 |
856 | 55 | #, python-format | 55 | #, python-format |
858 | 56 | msgid "Impossible withholding income, because the journal of withholding income for the '%s' has not been created with the type '%s'" | 56 | msgid "Impossible income withholding, because the journal of income withholding for the '%s' has not been created with the type '%s'" |
859 | 57 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que el diario de ISLR para la '%s' no ha sido creado con el tipo '%s'" | 57 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que el diario de ISLR para la '%s' no ha sido creado con el tipo '%s'" |
860 | 58 | 58 | ||
861 | 59 | #. module: l10n_ve_withholding_islr | 59 | #. module: l10n_ve_withholding_islr |
862 | @@ -63,7 +63,7 @@ | |||
863 | 63 | 63 | ||
864 | 64 | #. module: l10n_ve_withholding_islr | 64 | #. module: l10n_ve_withholding_islr |
865 | 65 | #: help:res.partner,islr_withholding_agent:0 | 65 | #: help:res.partner,islr_withholding_agent:0 |
867 | 66 | msgid "Check if the partner is an agent for withholding income" | 66 | msgid "Check if the partner is an agent for income withholding" |
868 | 67 | msgstr "Marque en caso de que la empresa sea agente de retenciĂ³n de ISLR" | 67 | msgstr "Marque en caso de que la empresa sea agente de retenciĂ³n de ISLR" |
869 | 68 | 68 | ||
870 | 69 | #. module: l10n_ve_withholding_islr | 69 | #. module: l10n_ve_withholding_islr |
871 | @@ -146,12 +146,12 @@ | |||
872 | 146 | #. module: l10n_ve_withholding_islr | 146 | #. module: l10n_ve_withholding_islr |
873 | 147 | #: code:addons/l10n_ve_withholding_islr/invoice.py:171 | 147 | #: code:addons/l10n_ve_withholding_islr/invoice.py:171 |
874 | 148 | #, python-format | 148 | #, python-format |
876 | 149 | msgid "Impossible withholding income, because the partner '%s' has not fiscal direction set!." | 149 | msgid "Impossible income withholding, because the partner '%s' has not fiscal direction set!." |
877 | 150 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el partner '%s' no tiene direcciĂ³n fiscal asociada!." | 150 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el partner '%s' no tiene direcciĂ³n fiscal asociada!." |
878 | 151 | 151 | ||
879 | 152 | #. module: l10n_ve_withholding_islr | 152 | #. module: l10n_ve_withholding_islr |
880 | 153 | #: view:islr.wh.doc.line:0 | 153 | #: view:islr.wh.doc.line:0 |
882 | 154 | msgid "Lines Withholding Income" | 154 | msgid "Lines Income Withholding" |
883 | 155 | msgstr "LĂneas de RetenciĂ³n de ISLR" | 155 | msgstr "LĂneas de RetenciĂ³n de ISLR" |
884 | 156 | 156 | ||
885 | 157 | #. module: l10n_ve_withholding_islr | 157 | #. module: l10n_ve_withholding_islr |
886 | @@ -204,7 +204,7 @@ | |||
887 | 204 | 204 | ||
888 | 205 | #. module: l10n_ve_withholding_islr | 205 | #. module: l10n_ve_withholding_islr |
889 | 206 | #: help:wh.islr.config,journal_sale:0 | 206 | #: help:wh.islr.config,journal_sale:0 |
891 | 207 | msgid "Journal for sale operations involving Withholding Income" | 207 | msgid "Journal for sale operations involving Income Withholding" |
892 | 208 | msgstr "Diario para operaciones de venta que involucran retenciĂ³n de ISLR" | 208 | msgstr "Diario para operaciones de venta que involucran retenciĂ³n de ISLR" |
893 | 209 | 209 | ||
894 | 210 | #. module: l10n_ve_withholding_islr | 210 | #. module: l10n_ve_withholding_islr |
895 | @@ -230,7 +230,7 @@ | |||
896 | 230 | 230 | ||
897 | 231 | #. module: l10n_ve_withholding_islr | 231 | #. module: l10n_ve_withholding_islr |
898 | 232 | #: help:wh.islr.config,journal_purchase:0 | 232 | #: help:wh.islr.config,journal_purchase:0 |
900 | 233 | msgid "Journal for purchase operations involving Withholding Income" | 233 | msgid "Journal for purchase operations involving Income Withholding" |
901 | 234 | msgstr "Diario para operaciones de venta que involucran ISLR" | 234 | msgstr "Diario para operaciones de venta que involucran ISLR" |
902 | 235 | 235 | ||
903 | 236 | #. module: l10n_ve_withholding_islr | 236 | #. module: l10n_ve_withholding_islr |
904 | @@ -283,7 +283,7 @@ | |||
905 | 283 | #: model:ir.actions.act_window,name:l10n_ve_withholding_islr.action_wh_islr_customer | 283 | #: model:ir.actions.act_window,name:l10n_ve_withholding_islr.action_wh_islr_customer |
906 | 284 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_action_wh_islr_customer | 284 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_action_wh_islr_customer |
907 | 285 | #: view:islr.wh.doc:0 | 285 | #: view:islr.wh.doc:0 |
909 | 286 | msgid "Customer Withholding Income" | 286 | msgid "Customer Income Withholding" |
910 | 287 | msgstr "RetenciĂ³n de ISLR de Cliente" | 287 | msgstr "RetenciĂ³n de ISLR de Cliente" |
911 | 288 | 288 | ||
912 | 289 | #. module: l10n_ve_withholding_islr | 289 | #. module: l10n_ve_withholding_islr |
913 | @@ -298,7 +298,7 @@ | |||
914 | 298 | 298 | ||
915 | 299 | #. module: l10n_ve_withholding_islr | 299 | #. module: l10n_ve_withholding_islr |
916 | 300 | #: field:wh.islr.config,account_purchase:0 | 300 | #: field:wh.islr.config,account_purchase:0 |
918 | 301 | msgid "Account Withholding Income Purchase" | 301 | msgid "Account Income Withholding Purchase" |
919 | 302 | msgstr "Cuenta contable para ISLR (compras)" | 302 | msgstr "Cuenta contable para ISLR (compras)" |
920 | 303 | 303 | ||
921 | 304 | #. module: l10n_ve_withholding_islr | 304 | #. module: l10n_ve_withholding_islr |
922 | @@ -347,7 +347,7 @@ | |||
923 | 347 | #: model:ir.actions.act_window,name:l10n_ve_withholding_islr.action_wh_islr_supplier | 347 | #: model:ir.actions.act_window,name:l10n_ve_withholding_islr.action_wh_islr_supplier |
924 | 348 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_action_wh_islr_supplier | 348 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_action_wh_islr_supplier |
925 | 349 | #: view:islr.wh.doc:0 | 349 | #: view:islr.wh.doc:0 |
927 | 350 | msgid "Supplier Withholding Income" | 350 | msgid "Supplier Income Withholding" |
928 | 351 | msgstr "RetenciĂ³n de ISLR de Proveedores" | 351 | msgstr "RetenciĂ³n de ISLR de Proveedores" |
929 | 352 | 352 | ||
930 | 353 | #. module: l10n_ve_withholding_islr | 353 | #. module: l10n_ve_withholding_islr |
931 | @@ -373,7 +373,7 @@ | |||
932 | 373 | #. module: l10n_ve_withholding_islr | 373 | #. module: l10n_ve_withholding_islr |
933 | 374 | #: code:addons/l10n_ve_withholding_islr/invoice.py:270 | 374 | #: code:addons/l10n_ve_withholding_islr/invoice.py:270 |
934 | 375 | #, python-format | 375 | #, python-format |
936 | 376 | msgid "Impossible withholding income,because the invoice number: '%s' has not number reference free!" | 376 | msgid "Impossible income withholding,because the invoice number: '%s' has not number reference free!" |
937 | 377 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que la factura nĂºmero: '%s' no tiene NĂºmero de Referencia Libre!" | 377 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que la factura nĂºmero: '%s' no tiene NĂºmero de Referencia Libre!" |
938 | 378 | 378 | ||
939 | 379 | #. module: l10n_ve_withholding_islr | 379 | #. module: l10n_ve_withholding_islr |
940 | @@ -425,7 +425,7 @@ | |||
941 | 425 | #. module: l10n_ve_withholding_islr | 425 | #. module: l10n_ve_withholding_islr |
942 | 426 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:282 | 426 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:282 |
943 | 427 | #, python-format | 427 | #, python-format |
945 | 428 | msgid "Impossible withholding income, because the account for withholding of sale is not assigned to the Concept withholding '%s'!" | 428 | msgid "Impossible income withholding, because the account for withholding of sale is not assigned to the Concept withholding '%s'!" |
946 | 429 | msgstr "Imposible realizar RetenciĂ³n ISLR, debido a que la cuenta contable para retenciĂ³n de venta no esta asignada al Concepto '%s' !!" | 429 | msgstr "Imposible realizar RetenciĂ³n ISLR, debido a que la cuenta contable para retenciĂ³n de venta no esta asignada al Concepto '%s' !!" |
947 | 430 | 430 | ||
948 | 431 | #. module: l10n_ve_withholding_islr | 431 | #. module: l10n_ve_withholding_islr |
949 | @@ -441,7 +441,7 @@ | |||
950 | 441 | #. module: l10n_ve_withholding_islr | 441 | #. module: l10n_ve_withholding_islr |
951 | 442 | #: code:addons/l10n_ve_withholding_islr/invoice.py:194 | 442 | #: code:addons/l10n_ve_withholding_islr/invoice.py:194 |
952 | 443 | #, python-format | 443 | #, python-format |
954 | 444 | msgid "Impossible withholding income, because the partner '%s' has not vat associated!" | 444 | msgid "Impossible income withholding, because the partner '%s' has not vat associated!" |
955 | 445 | msgstr "Imposible realizar Comprobante de Retencion ISLR, debido a que el partner, '%s' no tiene RIF asociado!" | 445 | msgstr "Imposible realizar Comprobante de Retencion ISLR, debido a que el partner, '%s' no tiene RIF asociado!" |
956 | 446 | 446 | ||
957 | 447 | #. module: l10n_ve_withholding_islr | 447 | #. module: l10n_ve_withholding_islr |
958 | @@ -461,7 +461,7 @@ | |||
959 | 461 | 461 | ||
960 | 462 | #. module: l10n_ve_withholding_islr | 462 | #. module: l10n_ve_withholding_islr |
961 | 463 | #: model:ir.actions.act_window,help:l10n_ve_withholding_islr.action_wh_islr_supplier | 463 | #: model:ir.actions.act_window,help:l10n_ve_withholding_islr.action_wh_islr_supplier |
963 | 464 | msgid "With Supplier Withholding you can manage document withholding issued to your suppliers. OpenERP can Just generate document withholding for purchase process automatically from invoices. To generate the withholding income and all accounting process you must confirm and validate the document withholding." | 464 | msgid "With Supplier Withholding you can manage document withholding issued to your suppliers. OpenERP can Just generate document withholding for purchase process automatically from invoices. To generate the income withholding and all accounting process you must confirm and validate the document withholding." |
964 | 465 | msgstr "A travĂ©s de RetenciĂ³n de ISLR de proveedores usted prodrĂ¡ gestionar el documento de retenciĂ³n emitido para sus proveedores. OpenERP tambiĂ©n puede generar el documento de retenciĂ³n automĂ¡ticamente desde la factura de proveedor. Para generar la retenciĂ³n se debe confirmar y validar el documento de retenciĂ³n." | 465 | msgstr "A travĂ©s de RetenciĂ³n de ISLR de proveedores usted prodrĂ¡ gestionar el documento de retenciĂ³n emitido para sus proveedores. OpenERP tambiĂ©n puede generar el documento de retenciĂ³n automĂ¡ticamente desde la factura de proveedor. Para generar la retenciĂ³n se debe confirmar y validar el documento de retenciĂ³n." |
965 | 466 | 466 | ||
966 | 467 | #. module: l10n_ve_withholding_islr | 467 | #. module: l10n_ve_withholding_islr |
967 | @@ -537,13 +537,13 @@ | |||
968 | 537 | 537 | ||
969 | 538 | #. module: l10n_ve_withholding_islr | 538 | #. module: l10n_ve_withholding_islr |
970 | 539 | #: field:islr.xml.wh.line,islr_wh_doc_line_id:0 | 539 | #: field:islr.xml.wh.line,islr_wh_doc_line_id:0 |
972 | 540 | msgid "Withholding Income Document" | 540 | msgid "Income Withholding Document" |
973 | 541 | msgstr "Documento de RetenciĂ³n de ISLR" | 541 | msgstr "Documento de RetenciĂ³n de ISLR" |
974 | 542 | 542 | ||
975 | 543 | #. module: l10n_ve_withholding_islr | 543 | #. module: l10n_ve_withholding_islr |
976 | 544 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:288 | 544 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:288 |
977 | 545 | #, python-format | 545 | #, python-format |
979 | 546 | msgid "Impossible withholding income, because the account for withholding of purchase is not assigned to the Concept withholding '%s'!" | 546 | msgid "Impossible income withholding, because the account for withholding of purchase is not assigned to the Concept withholding '%s'!" |
980 | 547 | msgstr "Imposible realizar RetenciĂ³n ISLR, debido a que la cuenta contable para retenciĂ³n de compra no esta asignada al Concepto '%s' !" | 547 | msgstr "Imposible realizar RetenciĂ³n ISLR, debido a que la cuenta contable para retenciĂ³n de compra no esta asignada al Concepto '%s' !" |
981 | 548 | 548 | ||
982 | 549 | #. module: l10n_ve_withholding_islr | 549 | #. module: l10n_ve_withholding_islr |
983 | @@ -629,7 +629,7 @@ | |||
984 | 629 | 629 | ||
985 | 630 | #. module: l10n_ve_withholding_islr | 630 | #. module: l10n_ve_withholding_islr |
986 | 631 | #: help:account.invoice.line,concept_id:0 | 631 | #: help:account.invoice.line,concept_id:0 |
988 | 632 | msgid "Concept of Withholding Income asociate this rate" | 632 | msgid "Concept of Income Withholding asociate this rate" |
989 | 633 | msgstr "Concepto de RetenciĂ³n asociado a esta tasa" | 633 | msgstr "Concepto de RetenciĂ³n asociado a esta tasa" |
990 | 634 | 634 | ||
991 | 635 | #. module: l10n_ve_withholding_islr | 635 | #. module: l10n_ve_withholding_islr |
992 | @@ -649,7 +649,7 @@ | |||
993 | 649 | 649 | ||
994 | 650 | #. module: l10n_ve_withholding_islr | 650 | #. module: l10n_ve_withholding_islr |
995 | 651 | #: view:islr.wh.doc:0 | 651 | #: view:islr.wh.doc:0 |
997 | 652 | msgid "Search Withholding Income" | 652 | msgid "Search Income Withholding" |
998 | 653 | msgstr "BĂºsqueda - Documento de ISLR" | 653 | msgstr "BĂºsqueda - Documento de ISLR" |
999 | 654 | 654 | ||
1000 | 655 | #. module: l10n_ve_withholding_islr | 655 | #. module: l10n_ve_withholding_islr |
1001 | @@ -665,7 +665,7 @@ | |||
1002 | 665 | #. module: l10n_ve_withholding_islr | 665 | #. module: l10n_ve_withholding_islr |
1003 | 666 | #: code:addons/l10n_ve_withholding_islr/installer.py:92 | 666 | #: code:addons/l10n_ve_withholding_islr/installer.py:92 |
1004 | 667 | #, python-format | 667 | #, python-format |
1006 | 668 | msgid "Journal Withholding Income Purchase" | 668 | msgid "Journal Income Withholding Purchase" |
1007 | 669 | msgstr "Diario ISLR para compras" | 669 | msgstr "Diario ISLR para compras" |
1008 | 670 | 670 | ||
1009 | 671 | #. module: l10n_ve_withholding_islr | 671 | #. module: l10n_ve_withholding_islr |
1010 | @@ -680,12 +680,12 @@ | |||
1011 | 680 | 680 | ||
1012 | 681 | #. module: l10n_ve_withholding_islr | 681 | #. module: l10n_ve_withholding_islr |
1013 | 682 | #: field:wh.islr.config,wh_agent:0 | 682 | #: field:wh.islr.config,wh_agent:0 |
1015 | 683 | msgid "Withholding Income Agent" | 683 | msgid "Income Withholding Agent" |
1016 | 684 | msgstr "Eres agente de retenciĂ³n de ISLR?" | 684 | msgstr "Eres agente de retenciĂ³n de ISLR?" |
1017 | 685 | 685 | ||
1018 | 686 | #. module: l10n_ve_withholding_islr | 686 | #. module: l10n_ve_withholding_islr |
1019 | 687 | #: model:ir.module.module,shortdesc:l10n_ve_withholding_islr.module_meta_information | 687 | #: model:ir.module.module,shortdesc:l10n_ve_withholding_islr.module_meta_information |
1021 | 688 | msgid "Automatically Calculation Withholding Income" | 688 | msgid "Automatically Calculation Income Withholding" |
1022 | 689 | msgstr "Calculo AutomĂ¡tico de Impuesto Sobre la Renta (ISLR)" | 689 | msgstr "Calculo AutomĂ¡tico de Impuesto Sobre la Renta (ISLR)" |
1023 | 690 | 690 | ||
1024 | 691 | #. module: l10n_ve_withholding_islr | 691 | #. module: l10n_ve_withholding_islr |
1025 | @@ -701,7 +701,7 @@ | |||
1026 | 701 | 701 | ||
1027 | 702 | #. module: l10n_ve_withholding_islr | 702 | #. module: l10n_ve_withholding_islr |
1028 | 703 | #: model:ir.actions.act_window,help:l10n_ve_withholding_islr.action_wh_islr_concept | 703 | #: model:ir.actions.act_window,help:l10n_ve_withholding_islr.action_wh_islr_concept |
1030 | 704 | msgid "With \"Concept of Withholding Income\" you can create and manage the concept of wittholding income. For each concept is to create and manage rates associated." | 704 | msgid "With \"Concept of Income Withholding\" you can create and manage the concept of wittholding income. For each concept is to create and manage rates associated." |
1031 | 705 | msgstr "A travĂ©s de \"Concepto de RetenciĂ³n de ISLR\" usted podrĂ¡ crear y gestionar los conceptos de retenciĂ³n de ISLR. Por cada concepto se puede crear y gestionar las tasas asociadas." | 705 | msgstr "A travĂ©s de \"Concepto de RetenciĂ³n de ISLR\" usted podrĂ¡ crear y gestionar los conceptos de retenciĂ³n de ISLR. Por cada concepto se puede crear y gestionar las tasas asociadas." |
1032 | 706 | 706 | ||
1033 | 707 | #. module: l10n_ve_withholding_islr | 707 | #. module: l10n_ve_withholding_islr |
1034 | @@ -712,7 +712,7 @@ | |||
1035 | 712 | 712 | ||
1036 | 713 | #. module: l10n_ve_withholding_islr | 713 | #. module: l10n_ve_withholding_islr |
1037 | 714 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_doc_line | 714 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_doc_line |
1039 | 715 | msgid "Lines of Document Withholding Income" | 715 | msgid "Lines of Document Income Withholding" |
1040 | 716 | msgstr "LĂneas del Documento de RetenciĂ³n de ISLR" | 716 | msgstr "LĂneas del Documento de RetenciĂ³n de ISLR" |
1041 | 717 | 717 | ||
1042 | 718 | #. module: l10n_ve_withholding_islr | 718 | #. module: l10n_ve_withholding_islr |
1043 | @@ -757,7 +757,7 @@ | |||
1044 | 757 | #. module: l10n_ve_withholding_islr | 757 | #. module: l10n_ve_withholding_islr |
1045 | 758 | #: model:ir.actions.report.xml,name:l10n_ve_withholding_islr.list_report_withholding_islr | 758 | #: model:ir.actions.report.xml,name:l10n_ve_withholding_islr.list_report_withholding_islr |
1046 | 759 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_wh_configuration_islr | 759 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_wh_configuration_islr |
1048 | 760 | msgid "Withholding Income" | 760 | msgid "Income Withholding" |
1049 | 761 | msgstr "RetenciĂ³n de ISLR" | 761 | msgstr "RetenciĂ³n de ISLR" |
1050 | 762 | 762 | ||
1051 | 763 | #. module: l10n_ve_withholding_islr | 763 | #. module: l10n_ve_withholding_islr |
1052 | @@ -777,7 +777,7 @@ | |||
1053 | 777 | 777 | ||
1054 | 778 | #. module: l10n_ve_withholding_islr | 778 | #. module: l10n_ve_withholding_islr |
1055 | 779 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_doc | 779 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_doc |
1057 | 780 | msgid "Document Withholding Income" | 780 | msgid "Document Income Withholding" |
1058 | 781 | msgstr "Documento de RetenciĂ³n de ISLR" | 781 | msgstr "Documento de RetenciĂ³n de ISLR" |
1059 | 782 | 782 | ||
1060 | 783 | #. module: l10n_ve_withholding_islr | 783 | #. module: l10n_ve_withholding_islr |
1061 | @@ -787,7 +787,7 @@ | |||
1062 | 787 | 787 | ||
1063 | 788 | #. module: l10n_ve_withholding_islr | 788 | #. module: l10n_ve_withholding_islr |
1064 | 789 | #: help:product.template,concept_id:0 | 789 | #: help:product.template,concept_id:0 |
1066 | 790 | msgid "Concept Withholding Income to apply to the service" | 790 | msgid "Concept Income Withholding to apply to the service" |
1067 | 791 | msgstr "Concepto de RetenciĂ³n a aplicar para el servicio" | 791 | msgstr "Concepto de RetenciĂ³n a aplicar para el servicio" |
1068 | 792 | 792 | ||
1069 | 793 | #. module: l10n_ve_withholding_islr | 793 | #. module: l10n_ve_withholding_islr |
1070 | @@ -812,7 +812,7 @@ | |||
1071 | 812 | 812 | ||
1072 | 813 | #. module: l10n_ve_withholding_islr | 813 | #. module: l10n_ve_withholding_islr |
1073 | 814 | #: model:ir.actions.report.xml,name:l10n_ve_withholding_islr.voucher_report_withholding_islr | 814 | #: model:ir.actions.report.xml,name:l10n_ve_withholding_islr.voucher_report_withholding_islr |
1075 | 815 | msgid "Voucher Withholding Income" | 815 | msgid "Voucher Income Withholding" |
1076 | 816 | msgstr "Comprobante de ISLR" | 816 | msgstr "Comprobante de ISLR" |
1077 | 817 | 817 | ||
1078 | 818 | #. module: l10n_ve_withholding_islr | 818 | #. module: l10n_ve_withholding_islr |
1079 | @@ -827,7 +827,7 @@ | |||
1080 | 827 | 827 | ||
1081 | 828 | #. module: l10n_ve_withholding_islr | 828 | #. module: l10n_ve_withholding_islr |
1082 | 829 | #: view:islr.wh.doc.line:0 | 829 | #: view:islr.wh.doc.line:0 |
1084 | 830 | msgid "Detail of the Concept of Withholding Income" | 830 | msgid "Detail of the Concept of Income Withholding" |
1085 | 831 | msgstr "Detalle del Concepto de RetenciĂ³n de ISLR" | 831 | msgstr "Detalle del Concepto de RetenciĂ³n de ISLR" |
1086 | 832 | 832 | ||
1087 | 833 | #. module: l10n_ve_withholding_islr | 833 | #. module: l10n_ve_withholding_islr |
1088 | @@ -871,7 +871,7 @@ | |||
1089 | 871 | #. module: l10n_ve_withholding_islr | 871 | #. module: l10n_ve_withholding_islr |
1090 | 872 | #: code:addons/l10n_ve_withholding_islr/installer.py:93 | 872 | #: code:addons/l10n_ve_withholding_islr/installer.py:93 |
1091 | 873 | #, python-format | 873 | #, python-format |
1093 | 874 | msgid "Journal Withholding Income Sale" | 874 | msgid "Journal Income Withholding Sale" |
1094 | 875 | msgstr "Diario ISLR para ventas" | 875 | msgstr "Diario ISLR para ventas" |
1095 | 876 | 876 | ||
1096 | 877 | #. module: l10n_ve_withholding_islr | 877 | #. module: l10n_ve_withholding_islr |
1097 | @@ -973,7 +973,7 @@ | |||
1098 | 973 | 973 | ||
1099 | 974 | #. module: l10n_ve_withholding_islr | 974 | #. module: l10n_ve_withholding_islr |
1100 | 975 | #: field:wh.islr.config,account_sale:0 | 975 | #: field:wh.islr.config,account_sale:0 |
1102 | 976 | msgid "Account Withholding Income Sale" | 976 | msgid "Account Income Withholding Sale" |
1103 | 977 | msgstr "Cuenta contable ISLR (ventas)" | 977 | msgstr "Cuenta contable ISLR (ventas)" |
1104 | 978 | 978 | ||
1105 | 979 | #. module: l10n_ve_withholding_islr | 979 | #. module: l10n_ve_withholding_islr |
1106 | @@ -1014,7 +1014,7 @@ | |||
1107 | 1014 | #. module: l10n_ve_withholding_islr | 1014 | #. module: l10n_ve_withholding_islr |
1108 | 1015 | #: code:addons/l10n_ve_withholding_islr/invoice.py:229 | 1015 | #: code:addons/l10n_ve_withholding_islr/invoice.py:229 |
1109 | 1016 | #, python-format | 1016 | #, python-format |
1111 | 1017 | msgid "Impossible withholding income, because the Concept of Withholding associated with type line is not withheld!" | 1017 | msgid "Impossible income withholding, because the Concept of Withholding associated with type line is not withheld!" |
1112 | 1018 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que el Concepto de RetenciĂ³n asociado a la lĂnea no es de tipo Retenible!" | 1018 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que el Concepto de RetenciĂ³n asociado a la lĂnea no es de tipo Retenible!" |
1113 | 1019 | 1019 | ||
1114 | 1020 | #. module: l10n_ve_withholding_islr | 1020 | #. module: l10n_ve_withholding_islr |
1115 | @@ -1037,7 +1037,7 @@ | |||
1116 | 1037 | #. module: l10n_ve_withholding_islr | 1037 | #. module: l10n_ve_withholding_islr |
1117 | 1038 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_concept | 1038 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_concept |
1118 | 1039 | #: field:islr.wh.doc,concept_ids:0 | 1039 | #: field:islr.wh.doc,concept_ids:0 |
1120 | 1040 | msgid "Withholding Income Concept" | 1040 | msgid "Income Withholding Concept" |
1121 | 1041 | msgstr "Concepto de RetenciĂ³n de ISLR" | 1041 | msgstr "Concepto de RetenciĂ³n de ISLR" |
1122 | 1042 | 1042 | ||
1123 | 1043 | #. module: l10n_ve_withholding_islr | 1043 | #. module: l10n_ve_withholding_islr |
1124 | @@ -1052,7 +1052,7 @@ | |||
1125 | 1052 | 1052 | ||
1126 | 1053 | #. module: l10n_ve_withholding_islr | 1053 | #. module: l10n_ve_withholding_islr |
1127 | 1054 | #: help:wh.islr.config,account_purchase:0 | 1054 | #: help:wh.islr.config,account_purchase:0 |
1129 | 1055 | msgid "Account for purchase operations involving Withholding Income" | 1055 | msgid "Account for purchase operations involving Income Withholding" |
1130 | 1056 | msgstr "Cuenta contable para operaciones de compra que involucran ISLR" | 1056 | msgstr "Cuenta contable para operaciones de compra que involucran ISLR" |
1131 | 1057 | 1057 | ||
1132 | 1058 | #. module: l10n_ve_withholding_islr | 1058 | #. module: l10n_ve_withholding_islr |
1133 | @@ -1077,8 +1077,8 @@ | |||
1134 | 1077 | 1077 | ||
1135 | 1078 | #. module: l10n_ve_withholding_islr | 1078 | #. module: l10n_ve_withholding_islr |
1136 | 1079 | #: help:islr.xml.wh.doc,name:0 | 1079 | #: help:islr.xml.wh.doc,name:0 |
1139 | 1080 | msgid "Description about statement of withholding income" | 1080 | msgid "Description about statement of income withholding" |
1140 | 1081 | msgstr "Description about statement of withholding income" | 1081 | msgstr "Description about statement of income withholding" |
1141 | 1082 | 1082 | ||
1142 | 1083 | #. module: l10n_ve_withholding_islr | 1083 | #. module: l10n_ve_withholding_islr |
1143 | 1084 | #: report:islr.wh.doc:0 | 1084 | #: report:islr.wh.doc:0 |
1144 | @@ -1087,12 +1087,12 @@ | |||
1145 | 1087 | 1087 | ||
1146 | 1088 | #. module: l10n_ve_withholding_islr | 1088 | #. module: l10n_ve_withholding_islr |
1147 | 1089 | #: view:islr.wh.concept:0 | 1089 | #: view:islr.wh.concept:0 |
1149 | 1090 | msgid "Search Concept of Withholding Income" | 1090 | msgid "Search Concept of Income Withholding" |
1150 | 1091 | msgstr "BĂºsqueda - Concepto de RetenciĂ³n de ISLR" | 1091 | msgstr "BĂºsqueda - Concepto de RetenciĂ³n de ISLR" |
1151 | 1092 | 1092 | ||
1152 | 1093 | #. module: l10n_ve_withholding_islr | 1093 | #. module: l10n_ve_withholding_islr |
1153 | 1094 | #: field:res.partner,islr_withholding_agent:0 | 1094 | #: field:res.partner,islr_withholding_agent:0 |
1155 | 1095 | msgid "Withholding Income Agent?" | 1095 | msgid "Income Withholding Agent?" |
1156 | 1096 | msgstr "Agente de RetenciĂ³n de ISLR?" | 1096 | msgstr "Agente de RetenciĂ³n de ISLR?" |
1157 | 1097 | 1097 | ||
1158 | 1098 | #. module: l10n_ve_withholding_islr | 1098 | #. module: l10n_ve_withholding_islr |
1159 | @@ -1173,7 +1173,7 @@ | |||
1160 | 1173 | #. module: l10n_ve_withholding_islr | 1173 | #. module: l10n_ve_withholding_islr |
1161 | 1174 | #: code:addons/l10n_ve_withholding_islr/invoice.py:166 | 1174 | #: code:addons/l10n_ve_withholding_islr/invoice.py:166 |
1162 | 1175 | #, python-format | 1175 | #, python-format |
1164 | 1176 | msgid "Impossible withholding income, because the partner '%s' country has not defined direction in fiscal!" | 1176 | msgid "Impossible income withholding, because the partner '%s' country has not defined direction in fiscal!" |
1165 | 1177 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el partner '%s' no tiene paĂs en su facturaciĂ³n fiscal!" | 1177 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el partner '%s' no tiene paĂs en su facturaciĂ³n fiscal!" |
1166 | 1178 | 1178 | ||
1167 | 1179 | #. module: l10n_ve_withholding_islr | 1179 | #. module: l10n_ve_withholding_islr |
1168 | @@ -1251,7 +1251,7 @@ | |||
1169 | 1251 | 1251 | ||
1170 | 1252 | #. module: l10n_ve_withholding_islr | 1252 | #. module: l10n_ve_withholding_islr |
1171 | 1253 | #: help:wh.islr.config,account_sale:0 | 1253 | #: help:wh.islr.config,account_sale:0 |
1173 | 1254 | msgid "Account for sale operations involving Withholding Income" | 1254 | msgid "Account for sale operations involving Income Withholding" |
1174 | 1255 | msgstr "Cuenta para operaciones de ventas que involucran ISLR" | 1255 | msgstr "Cuenta para operaciones de ventas que involucran ISLR" |
1175 | 1256 | 1256 | ||
1176 | 1257 | #. module: l10n_ve_withholding_islr | 1257 | #. module: l10n_ve_withholding_islr |
1177 | @@ -1293,7 +1293,7 @@ | |||
1178 | 1293 | #. module: l10n_ve_withholding_islr | 1293 | #. module: l10n_ve_withholding_islr |
1179 | 1294 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:410 | 1294 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:410 |
1180 | 1295 | #, python-format | 1295 | #, python-format |
1182 | 1296 | msgid "Impossible withholding income, because the supplier '%s' withholding agent is not!" | 1296 | msgid "Impossible income withholding, because the supplier '%s' withholding agent is not!" |
1183 | 1297 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el comprador '%s' no es agente de RetenciĂ³n!" | 1297 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el comprador '%s' no es agente de RetenciĂ³n!" |
1184 | 1298 | 1298 | ||
1185 | 1299 | #. module: l10n_ve_withholding_islr | 1299 | #. module: l10n_ve_withholding_islr |
1186 | @@ -1304,22 +1304,22 @@ | |||
1187 | 1304 | #. module: l10n_ve_withholding_islr | 1304 | #. module: l10n_ve_withholding_islr |
1188 | 1305 | #: model:ir.module.module,description:l10n_ve_withholding_islr.module_meta_information | 1305 | #: model:ir.module.module,description:l10n_ve_withholding_islr.module_meta_information |
1189 | 1306 | msgid "\n" | 1306 | msgid "\n" |
1191 | 1307 | " ----------Automatically Calculated Withholding Income------------\n" | 1307 | " ----------Automatically Calculated Income Withholding------------\n" |
1192 | 1308 | "\n" | 1308 | "\n" |
1193 | 1309 | " What make this module?\n" | 1309 | " What make this module?\n" |
1194 | 1310 | " \n" | 1310 | " \n" |
1197 | 1311 | " --Generate the voucher of withholding income to validate the invoice.\n" | 1311 | " --Generate the voucher of income withholding to validate the invoice.\n" |
1198 | 1312 | " --Generate the report of voucher of withholding income.\n" | 1312 | " --Generate the report of voucher of income withholding.\n" |
1199 | 1313 | " --Generate the file .xml required by the Venezuelan laws, for agent\n" | 1313 | " --Generate the file .xml required by the Venezuelan laws, for agent\n" |
1201 | 1314 | " of withholding income specials.\n" | 1314 | " of income withholding specials.\n" |
1202 | 1315 | " --Generate view for load the concepts of wittholding whith their rates.\n" | 1315 | " --Generate view for load the concepts of wittholding whith their rates.\n" |
1204 | 1316 | " --Generate view for visualize the withholding income for suppilers and \n" | 1316 | " --Generate view for visualize the income withholding for suppilers and \n" |
1205 | 1317 | " customers.\n" | 1317 | " customers.\n" |
1206 | 1318 | " --Load data of the 86 concepts of wittholdings whith their rates.\n" | 1318 | " --Load data of the 86 concepts of wittholdings whith their rates.\n" |
1207 | 1319 | "\n" | 1319 | "\n" |
1208 | 1320 | " Impromevents\n" | 1320 | " Impromevents\n" |
1209 | 1321 | " \n" | 1321 | " \n" |
1211 | 1322 | " --For include the functionality of the withholding income to sales, \n" | 1322 | " --For include the functionality of the income withholding to sales, \n" |
1212 | 1323 | " purchases and stock you should installer the module: l10n_ve_sale_purchase.\n" | 1323 | " purchases and stock you should installer the module: l10n_ve_sale_purchase.\n" |
1213 | 1324 | " " | 1324 | " " |
1214 | 1325 | msgstr "\n" | 1325 | msgstr "\n" |
1215 | @@ -1352,7 +1352,7 @@ | |||
1216 | 1352 | #. module: l10n_ve_withholding_islr | 1352 | #. module: l10n_ve_withholding_islr |
1217 | 1353 | #: code:addons/l10n_ve_withholding_islr/product.py:62 | 1353 | #: code:addons/l10n_ve_withholding_islr/product.py:62 |
1218 | 1354 | #, python-format | 1354 | #, python-format |
1220 | 1355 | msgid "Must create the concept of withholding income" | 1355 | msgid "Must create the concept of income withholding" |
1221 | 1356 | msgstr "Debe crear el concepto de retenciĂ³n de ISLR" | 1356 | msgstr "Debe crear el concepto de retenciĂ³n de ISLR" |
1222 | 1357 | 1357 | ||
1223 | 1358 | #. module: l10n_ve_withholding_islr | 1358 | #. module: l10n_ve_withholding_islr |
1224 | @@ -1368,12 +1368,12 @@ | |||
1225 | 1368 | #: view:islr.xml.wh.line:0 | 1368 | #: view:islr.xml.wh.line:0 |
1226 | 1369 | #: view:product.product:0 | 1369 | #: view:product.product:0 |
1227 | 1370 | #: view:product.template:0 | 1370 | #: view:product.template:0 |
1229 | 1371 | msgid "Concept of Withholding Income" | 1371 | msgid "Concept of Income Withholding" |
1230 | 1372 | msgstr "Concepto de RetenciĂ³n de ISLR" | 1372 | msgstr "Concepto de RetenciĂ³n de ISLR" |
1231 | 1373 | 1373 | ||
1232 | 1374 | #. module: l10n_ve_withholding_islr | 1374 | #. module: l10n_ve_withholding_islr |
1233 | 1375 | #: help:wh.islr.config,wh_agent:0 | 1375 | #: help:wh.islr.config,wh_agent:0 |
1235 | 1376 | msgid "Check if this company is a withholding income agent" | 1376 | msgid "Check if this company is a income withholding agent" |
1236 | 1377 | msgstr "Determine si su cumpañĂa es un agente de retenciĂ³n de ISLR" | 1377 | msgstr "Determine si su cumpañĂa es un agente de retenciĂ³n de ISLR" |
1237 | 1378 | 1378 | ||
1238 | 1379 | #. module: l10n_ve_withholding_islr | 1379 | #. module: l10n_ve_withholding_islr |
1239 | @@ -1384,7 +1384,7 @@ | |||
1240 | 1384 | #. module: l10n_ve_withholding_islr | 1384 | #. module: l10n_ve_withholding_islr |
1241 | 1385 | #: code:addons/l10n_ve_withholding_islr/invoice.py:280 | 1385 | #: code:addons/l10n_ve_withholding_islr/invoice.py:280 |
1242 | 1386 | #, python-format | 1386 | #, python-format |
1244 | 1387 | msgid "Impossible withholding income, because the invoice number: '%s' has not control number associated!" | 1387 | msgid "Impossible income withholding, because the invoice number: '%s' has not control number associated!" |
1245 | 1388 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que la factura nĂºmero: '%s' no tiene NĂºmero de Control Asociado!" | 1388 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que la factura nĂºmero: '%s' no tiene NĂºmero de Control Asociado!" |
1246 | 1389 | 1389 | ||
1247 | 1390 | #. module: l10n_ve_withholding_islr | 1390 | #. module: l10n_ve_withholding_islr |
1248 | @@ -1425,12 +1425,12 @@ | |||
1249 | 1425 | #. module: l10n_ve_withholding_islr | 1425 | #. module: l10n_ve_withholding_islr |
1250 | 1426 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:412 | 1426 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:412 |
1251 | 1427 | #, python-format | 1427 | #, python-format |
1253 | 1428 | msgid "Impossible withholding income, because the lines of the invoice has not concept withholding!" | 1428 | msgid "Impossible income withholding, because the lines of the invoice has not concept withholding!" |
1254 | 1429 | msgstr "Imposible realizar retenciĂ³n de ISLR, porque las lineas de la factura no tienen concepto de retenciĂ³n asociado!" | 1429 | msgstr "Imposible realizar retenciĂ³n de ISLR, porque las lineas de la factura no tienen concepto de retenciĂ³n asociado!" |
1255 | 1430 | 1430 | ||
1256 | 1431 | #. module: l10n_ve_withholding_islr | 1431 | #. module: l10n_ve_withholding_islr |
1257 | 1432 | #: view:wh.islr.config:0 | 1432 | #: view:wh.islr.config:0 |
1259 | 1433 | msgid "Withholding income Configuration" | 1433 | msgid "Income withholding Configuration" |
1260 | 1434 | msgstr "ConfiguraciĂ³n de la RetenciĂ³n de ISLR" | 1434 | msgstr "ConfiguraciĂ³n de la RetenciĂ³n de ISLR" |
1261 | 1435 | 1435 | ||
1262 | 1436 | #. module: l10n_ve_withholding_islr | 1436 | #. module: l10n_ve_withholding_islr |
1263 | @@ -1441,7 +1441,7 @@ | |||
1264 | 1441 | #. module: l10n_ve_withholding_islr | 1441 | #. module: l10n_ve_withholding_islr |
1265 | 1442 | #: view:wh.islr.config:0 | 1442 | #: view:wh.islr.config:0 |
1266 | 1443 | msgid "\n" | 1443 | msgid "\n" |
1268 | 1444 | "Configure your company's withholding income \n" | 1444 | "Configure your company's income withholding \n" |
1269 | 1445 | " " | 1445 | " " |
1270 | 1446 | msgstr "\n" | 1446 | msgstr "\n" |
1271 | 1447 | "Configure los datos de su compañĂa para la RetenciĂ³n del Impuesto Sobre La Renta (ISLR) \n" | 1447 | "Configure los datos de su compañĂa para la RetenciĂ³n del Impuesto Sobre La Renta (ISLR) \n" |
1272 | 1448 | 1448 | ||
1273 | === modified file 'l10n_ve_withholding_islr/i18n/es_VE.po' | |||
1274 | --- l10n_ve_withholding_islr/i18n/es_VE.po 2012-02-09 19:23:11 +0000 | |||
1275 | +++ l10n_ve_withholding_islr/i18n/es_VE.po 2013-01-14 19:15:27 +0000 | |||
1276 | @@ -27,7 +27,7 @@ | |||
1277 | 27 | 27 | ||
1278 | 28 | #. module: l10n_ve_withholding_islr | 28 | #. module: l10n_ve_withholding_islr |
1279 | 29 | #: view:islr.wh.doc:0 | 29 | #: view:islr.wh.doc:0 |
1281 | 30 | msgid "Print Withholding Income" | 30 | msgid "Print Income Withholding" |
1282 | 31 | msgstr "Imprimir comprobante de retenciĂ³n" | 31 | msgstr "Imprimir comprobante de retenciĂ³n" |
1283 | 32 | 32 | ||
1284 | 33 | 33 | ||
1285 | @@ -38,7 +38,7 @@ | |||
1286 | 38 | 38 | ||
1287 | 39 | #. module: l10n_ve_withholding_islr | 39 | #. module: l10n_ve_withholding_islr |
1288 | 40 | #: field:islr.xml.wh.doc,amount_total_ret:0 | 40 | #: field:islr.xml.wh.doc,amount_total_ret:0 |
1290 | 41 | msgid "Withholding Income Amount Total" | 41 | msgid "Income Withholding Amount Total" |
1291 | 42 | msgstr "Monto Total de RetenciĂ³n de ISLR" | 42 | msgstr "Monto Total de RetenciĂ³n de ISLR" |
1292 | 43 | 43 | ||
1293 | 44 | #. module: l10n_ve_withholding_islr | 44 | #. module: l10n_ve_withholding_islr |
1294 | @@ -54,7 +54,7 @@ | |||
1295 | 54 | #. module: l10n_ve_withholding_islr | 54 | #. module: l10n_ve_withholding_islr |
1296 | 55 | #: code:addons/l10n_ve_withholding_islr/invoice.py:461 | 55 | #: code:addons/l10n_ve_withholding_islr/invoice.py:461 |
1297 | 56 | #, python-format | 56 | #, python-format |
1299 | 57 | msgid "Impossible withholding income, because the journal of withholding income for the '%s' has not been created with the type '%s'" | 57 | msgid "Impossible income withholding, because the journal of income withholding for the '%s' has not been created with the type '%s'" |
1300 | 58 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que el diario de ISLR para la '%s' no ha sido creado con el tipo '%s'" | 58 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que el diario de ISLR para la '%s' no ha sido creado con el tipo '%s'" |
1301 | 59 | 59 | ||
1302 | 60 | #. module: l10n_ve_withholding_islr | 60 | #. module: l10n_ve_withholding_islr |
1303 | @@ -64,7 +64,7 @@ | |||
1304 | 64 | 64 | ||
1305 | 65 | #. module: l10n_ve_withholding_islr | 65 | #. module: l10n_ve_withholding_islr |
1306 | 66 | #: help:res.partner,islr_withholding_agent:0 | 66 | #: help:res.partner,islr_withholding_agent:0 |
1308 | 67 | msgid "Check if the partner is an agent for withholding income" | 67 | msgid "Check if the partner is an agent for income withholding" |
1309 | 68 | msgstr "Marque en caso de que la empresa sea agente de retenciĂ³n de ISLR" | 68 | msgstr "Marque en caso de que la empresa sea agente de retenciĂ³n de ISLR" |
1310 | 69 | 69 | ||
1311 | 70 | #. module: l10n_ve_withholding_islr | 70 | #. module: l10n_ve_withholding_islr |
1312 | @@ -147,12 +147,12 @@ | |||
1313 | 147 | #. module: l10n_ve_withholding_islr | 147 | #. module: l10n_ve_withholding_islr |
1314 | 148 | #: code:addons/l10n_ve_withholding_islr/invoice.py:171 | 148 | #: code:addons/l10n_ve_withholding_islr/invoice.py:171 |
1315 | 149 | #, python-format | 149 | #, python-format |
1317 | 150 | msgid "Impossible withholding income, because the partner '%s' has not fiscal direction set!." | 150 | msgid "Impossible income withholding, because the partner '%s' has not fiscal direction set!." |
1318 | 151 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el partner '%s' no tiene direcciĂ³n fiscal asociada!." | 151 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el partner '%s' no tiene direcciĂ³n fiscal asociada!." |
1319 | 152 | 152 | ||
1320 | 153 | #. module: l10n_ve_withholding_islr | 153 | #. module: l10n_ve_withholding_islr |
1321 | 154 | #: view:islr.wh.doc.line:0 | 154 | #: view:islr.wh.doc.line:0 |
1323 | 155 | msgid "Lines Withholding Income" | 155 | msgid "Lines Income Withholding" |
1324 | 156 | msgstr "LĂneas de RetenciĂ³n de ISLR" | 156 | msgstr "LĂneas de RetenciĂ³n de ISLR" |
1325 | 157 | 157 | ||
1326 | 158 | #. module: l10n_ve_withholding_islr | 158 | #. module: l10n_ve_withholding_islr |
1327 | @@ -205,7 +205,7 @@ | |||
1328 | 205 | 205 | ||
1329 | 206 | #. module: l10n_ve_withholding_islr | 206 | #. module: l10n_ve_withholding_islr |
1330 | 207 | #: help:wh.islr.config,journal_sale:0 | 207 | #: help:wh.islr.config,journal_sale:0 |
1332 | 208 | msgid "Journal for sale operations involving Withholding Income" | 208 | msgid "Journal for sale operations involving Income Withholding" |
1333 | 209 | msgstr "Diario para operaciones de venta que involucran retenciĂ³n de ISLR" | 209 | msgstr "Diario para operaciones de venta que involucran retenciĂ³n de ISLR" |
1334 | 210 | 210 | ||
1335 | 211 | #. module: l10n_ve_withholding_islr | 211 | #. module: l10n_ve_withholding_islr |
1336 | @@ -231,7 +231,7 @@ | |||
1337 | 231 | 231 | ||
1338 | 232 | #. module: l10n_ve_withholding_islr | 232 | #. module: l10n_ve_withholding_islr |
1339 | 233 | #: help:wh.islr.config,journal_purchase:0 | 233 | #: help:wh.islr.config,journal_purchase:0 |
1341 | 234 | msgid "Journal for purchase operations involving Withholding Income" | 234 | msgid "Journal for purchase operations involving Income Withholding" |
1342 | 235 | msgstr "Diario para operaciones de venta que involucran ISLR" | 235 | msgstr "Diario para operaciones de venta que involucran ISLR" |
1343 | 236 | 236 | ||
1344 | 237 | #. module: l10n_ve_withholding_islr | 237 | #. module: l10n_ve_withholding_islr |
1345 | @@ -284,7 +284,7 @@ | |||
1346 | 284 | #: model:ir.actions.act_window,name:l10n_ve_withholding_islr.action_wh_islr_customer | 284 | #: model:ir.actions.act_window,name:l10n_ve_withholding_islr.action_wh_islr_customer |
1347 | 285 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_action_wh_islr_customer | 285 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_action_wh_islr_customer |
1348 | 286 | #: view:islr.wh.doc:0 | 286 | #: view:islr.wh.doc:0 |
1350 | 287 | msgid "Customer Withholding Income" | 287 | msgid "Customer Income Withholding" |
1351 | 288 | msgstr "RetenciĂ³n de ISLR de Cliente" | 288 | msgstr "RetenciĂ³n de ISLR de Cliente" |
1352 | 289 | 289 | ||
1353 | 290 | #. module: l10n_ve_withholding_islr | 290 | #. module: l10n_ve_withholding_islr |
1354 | @@ -299,7 +299,7 @@ | |||
1355 | 299 | 299 | ||
1356 | 300 | #. module: l10n_ve_withholding_islr | 300 | #. module: l10n_ve_withholding_islr |
1357 | 301 | #: field:wh.islr.config,account_purchase:0 | 301 | #: field:wh.islr.config,account_purchase:0 |
1359 | 302 | msgid "Account Withholding Income Purchase" | 302 | msgid "Account Income Withholding Purchase" |
1360 | 303 | msgstr "Cuenta contable para ISLR (compras)" | 303 | msgstr "Cuenta contable para ISLR (compras)" |
1361 | 304 | 304 | ||
1362 | 305 | #. module: l10n_ve_withholding_islr | 305 | #. module: l10n_ve_withholding_islr |
1363 | @@ -348,7 +348,7 @@ | |||
1364 | 348 | #: model:ir.actions.act_window,name:l10n_ve_withholding_islr.action_wh_islr_supplier | 348 | #: model:ir.actions.act_window,name:l10n_ve_withholding_islr.action_wh_islr_supplier |
1365 | 349 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_action_wh_islr_supplier | 349 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_action_wh_islr_supplier |
1366 | 350 | #: view:islr.wh.doc:0 | 350 | #: view:islr.wh.doc:0 |
1368 | 351 | msgid "Supplier Withholding Income" | 351 | msgid "Supplier Income Withholding" |
1369 | 352 | msgstr "RetenciĂ³n de ISLR de Proveedores" | 352 | msgstr "RetenciĂ³n de ISLR de Proveedores" |
1370 | 353 | 353 | ||
1371 | 354 | #. module: l10n_ve_withholding_islr | 354 | #. module: l10n_ve_withholding_islr |
1372 | @@ -374,7 +374,7 @@ | |||
1373 | 374 | #. module: l10n_ve_withholding_islr | 374 | #. module: l10n_ve_withholding_islr |
1374 | 375 | #: code:addons/l10n_ve_withholding_islr/invoice.py:270 | 375 | #: code:addons/l10n_ve_withholding_islr/invoice.py:270 |
1375 | 376 | #, python-format | 376 | #, python-format |
1377 | 377 | msgid "Impossible withholding income,because the invoice number: '%s' has not number reference free!" | 377 | msgid "Impossible income withholding,because the invoice number: '%s' has not number reference free!" |
1378 | 378 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que la factura nĂºmero: '%s' no tiene NĂºmero de Referencia Libre!" | 378 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que la factura nĂºmero: '%s' no tiene NĂºmero de Referencia Libre!" |
1379 | 379 | 379 | ||
1380 | 380 | #. module: l10n_ve_withholding_islr | 380 | #. module: l10n_ve_withholding_islr |
1381 | @@ -426,7 +426,7 @@ | |||
1382 | 426 | #. module: l10n_ve_withholding_islr | 426 | #. module: l10n_ve_withholding_islr |
1383 | 427 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:282 | 427 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:282 |
1384 | 428 | #, python-format | 428 | #, python-format |
1386 | 429 | msgid "Impossible withholding income, because the account for withholding of sale is not assigned to the Concept withholding '%s'!" | 429 | msgid "Impossible income withholding, because the account for withholding of sale is not assigned to the Concept withholding '%s'!" |
1387 | 430 | msgstr "Imposible realizar RetenciĂ³n ISLR, debido a que la cuenta contable para retenciĂ³n de venta no esta asignada al Concepto '%s' !!" | 430 | msgstr "Imposible realizar RetenciĂ³n ISLR, debido a que la cuenta contable para retenciĂ³n de venta no esta asignada al Concepto '%s' !!" |
1388 | 431 | 431 | ||
1389 | 432 | #. module: l10n_ve_withholding_islr | 432 | #. module: l10n_ve_withholding_islr |
1390 | @@ -442,7 +442,7 @@ | |||
1391 | 442 | #. module: l10n_ve_withholding_islr | 442 | #. module: l10n_ve_withholding_islr |
1392 | 443 | #: code:addons/l10n_ve_withholding_islr/invoice.py:194 | 443 | #: code:addons/l10n_ve_withholding_islr/invoice.py:194 |
1393 | 444 | #, python-format | 444 | #, python-format |
1395 | 445 | msgid "Impossible withholding income, because the partner '%s' has not vat associated!" | 445 | msgid "Impossible income withholding, because the partner '%s' has not vat associated!" |
1396 | 446 | msgstr "Imposible realizar Comprobante de Retencion ISLR, debido a que el partner, '%s' no tiene RIF asociado!" | 446 | msgstr "Imposible realizar Comprobante de Retencion ISLR, debido a que el partner, '%s' no tiene RIF asociado!" |
1397 | 447 | 447 | ||
1398 | 448 | #. module: l10n_ve_withholding_islr | 448 | #. module: l10n_ve_withholding_islr |
1399 | @@ -462,7 +462,7 @@ | |||
1400 | 462 | 462 | ||
1401 | 463 | #. module: l10n_ve_withholding_islr | 463 | #. module: l10n_ve_withholding_islr |
1402 | 464 | #: model:ir.actions.act_window,help:l10n_ve_withholding_islr.action_wh_islr_supplier | 464 | #: model:ir.actions.act_window,help:l10n_ve_withholding_islr.action_wh_islr_supplier |
1404 | 465 | msgid "With Supplier Withholding you can manage document withholding issued to your suppliers. OpenERP can Just generate document withholding for purchase process automatically from invoices. To generate the withholding income and all accounting process you must confirm and validate the document withholding." | 465 | msgid "With Supplier Withholding you can manage document withholding issued to your suppliers. OpenERP can Just generate document withholding for purchase process automatically from invoices. To generate the income withholding and all accounting process you must confirm and validate the document withholding." |
1405 | 466 | msgstr "A travĂ©s de RetenciĂ³n de ISLR de proveedores usted prodrĂ¡ gestionar el documento de retenciĂ³n emitido para sus proveedores. OpenERP tambiĂ©n puede generar el documento de retenciĂ³n automĂ¡ticamente desde la factura de proveedor. Para generar la retenciĂ³n se debe confirmar y validar el documento de retenciĂ³n." | 466 | msgstr "A travĂ©s de RetenciĂ³n de ISLR de proveedores usted prodrĂ¡ gestionar el documento de retenciĂ³n emitido para sus proveedores. OpenERP tambiĂ©n puede generar el documento de retenciĂ³n automĂ¡ticamente desde la factura de proveedor. Para generar la retenciĂ³n se debe confirmar y validar el documento de retenciĂ³n." |
1406 | 467 | 467 | ||
1407 | 468 | #. module: l10n_ve_withholding_islr | 468 | #. module: l10n_ve_withholding_islr |
1408 | @@ -538,13 +538,13 @@ | |||
1409 | 538 | 538 | ||
1410 | 539 | #. module: l10n_ve_withholding_islr | 539 | #. module: l10n_ve_withholding_islr |
1411 | 540 | #: field:islr.xml.wh.line,islr_wh_doc_line_id:0 | 540 | #: field:islr.xml.wh.line,islr_wh_doc_line_id:0 |
1413 | 541 | msgid "Withholding Income Document" | 541 | msgid "Income Withholding Document" |
1414 | 542 | msgstr "Documento de RetenciĂ³n de ISLR" | 542 | msgstr "Documento de RetenciĂ³n de ISLR" |
1415 | 543 | 543 | ||
1416 | 544 | #. module: l10n_ve_withholding_islr | 544 | #. module: l10n_ve_withholding_islr |
1417 | 545 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:288 | 545 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:288 |
1418 | 546 | #, python-format | 546 | #, python-format |
1420 | 547 | msgid "Impossible withholding income, because the account for withholding of purchase is not assigned to the Concept withholding '%s'!" | 547 | msgid "Impossible income withholding, because the account for withholding of purchase is not assigned to the Concept withholding '%s'!" |
1421 | 548 | msgstr "Imposible realizar RetenciĂ³n ISLR, debido a que la cuenta contable para retenciĂ³n de compra no esta asignada al Concepto '%s' !" | 548 | msgstr "Imposible realizar RetenciĂ³n ISLR, debido a que la cuenta contable para retenciĂ³n de compra no esta asignada al Concepto '%s' !" |
1422 | 549 | 549 | ||
1423 | 550 | #. module: l10n_ve_withholding_islr | 550 | #. module: l10n_ve_withholding_islr |
1424 | @@ -630,7 +630,7 @@ | |||
1425 | 630 | 630 | ||
1426 | 631 | #. module: l10n_ve_withholding_islr | 631 | #. module: l10n_ve_withholding_islr |
1427 | 632 | #: help:account.invoice.line,concept_id:0 | 632 | #: help:account.invoice.line,concept_id:0 |
1429 | 633 | msgid "Concept of Withholding Income asociate this rate" | 633 | msgid "Concept of Income Withholding asociate this rate" |
1430 | 634 | msgstr "Concepto de RetenciĂ³n asociado a esta tasa" | 634 | msgstr "Concepto de RetenciĂ³n asociado a esta tasa" |
1431 | 635 | 635 | ||
1432 | 636 | #. module: l10n_ve_withholding_islr | 636 | #. module: l10n_ve_withholding_islr |
1433 | @@ -650,7 +650,7 @@ | |||
1434 | 650 | 650 | ||
1435 | 651 | #. module: l10n_ve_withholding_islr | 651 | #. module: l10n_ve_withholding_islr |
1436 | 652 | #: view:islr.wh.doc:0 | 652 | #: view:islr.wh.doc:0 |
1438 | 653 | msgid "Search Withholding Income" | 653 | msgid "Search Income Withholding" |
1439 | 654 | msgstr "BĂºsqueda - Documento de ISLR" | 654 | msgstr "BĂºsqueda - Documento de ISLR" |
1440 | 655 | 655 | ||
1441 | 656 | #. module: l10n_ve_withholding_islr | 656 | #. module: l10n_ve_withholding_islr |
1442 | @@ -666,7 +666,7 @@ | |||
1443 | 666 | #. module: l10n_ve_withholding_islr | 666 | #. module: l10n_ve_withholding_islr |
1444 | 667 | #: code:addons/l10n_ve_withholding_islr/installer.py:92 | 667 | #: code:addons/l10n_ve_withholding_islr/installer.py:92 |
1445 | 668 | #, python-format | 668 | #, python-format |
1447 | 669 | msgid "Journal Withholding Income Purchase" | 669 | msgid "Journal Income Withholding Purchase" |
1448 | 670 | msgstr "Diario ISLR para compras" | 670 | msgstr "Diario ISLR para compras" |
1449 | 671 | 671 | ||
1450 | 672 | #. module: l10n_ve_withholding_islr | 672 | #. module: l10n_ve_withholding_islr |
1451 | @@ -681,12 +681,12 @@ | |||
1452 | 681 | 681 | ||
1453 | 682 | #. module: l10n_ve_withholding_islr | 682 | #. module: l10n_ve_withholding_islr |
1454 | 683 | #: field:wh.islr.config,wh_agent:0 | 683 | #: field:wh.islr.config,wh_agent:0 |
1456 | 684 | msgid "Withholding Income Agent" | 684 | msgid "Income Withholding Agent" |
1457 | 685 | msgstr "Eres agente de retenciĂ³n de ISLR?" | 685 | msgstr "Eres agente de retenciĂ³n de ISLR?" |
1458 | 686 | 686 | ||
1459 | 687 | #. module: l10n_ve_withholding_islr | 687 | #. module: l10n_ve_withholding_islr |
1460 | 688 | #: model:ir.module.module,shortdesc:l10n_ve_withholding_islr.module_meta_information | 688 | #: model:ir.module.module,shortdesc:l10n_ve_withholding_islr.module_meta_information |
1462 | 689 | msgid "Automatically Calculation Withholding Income" | 689 | msgid "Automatically Calculation Income Withholding" |
1463 | 690 | msgstr "Calculo AutomĂ¡tico de Impuesto Sobre la Renta (ISLR)" | 690 | msgstr "Calculo AutomĂ¡tico de Impuesto Sobre la Renta (ISLR)" |
1464 | 691 | 691 | ||
1465 | 692 | #. module: l10n_ve_withholding_islr | 692 | #. module: l10n_ve_withholding_islr |
1466 | @@ -702,7 +702,7 @@ | |||
1467 | 702 | 702 | ||
1468 | 703 | #. module: l10n_ve_withholding_islr | 703 | #. module: l10n_ve_withholding_islr |
1469 | 704 | #: model:ir.actions.act_window,help:l10n_ve_withholding_islr.action_wh_islr_concept | 704 | #: model:ir.actions.act_window,help:l10n_ve_withholding_islr.action_wh_islr_concept |
1471 | 705 | msgid "With \"Concept of Withholding Income\" you can create and manage the concept of wittholding income. For each concept is to create and manage rates associated." | 705 | msgid "With \"Concept of Income Withholding\" you can create and manage the concept of wittholding income. For each concept is to create and manage rates associated." |
1472 | 706 | msgstr "A travĂ©s de \"Concepto de RetenciĂ³n de ISLR\" usted podrĂ¡ crear y gestionar los conceptos de retenciĂ³n de ISLR. Por cada concepto se puede crear y gestionar las tasas asociadas." | 706 | msgstr "A travĂ©s de \"Concepto de RetenciĂ³n de ISLR\" usted podrĂ¡ crear y gestionar los conceptos de retenciĂ³n de ISLR. Por cada concepto se puede crear y gestionar las tasas asociadas." |
1473 | 707 | 707 | ||
1474 | 708 | #. module: l10n_ve_withholding_islr | 708 | #. module: l10n_ve_withholding_islr |
1475 | @@ -713,7 +713,7 @@ | |||
1476 | 713 | 713 | ||
1477 | 714 | #. module: l10n_ve_withholding_islr | 714 | #. module: l10n_ve_withholding_islr |
1478 | 715 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_doc_line | 715 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_doc_line |
1480 | 716 | msgid "Lines of Document Withholding Income" | 716 | msgid "Lines of Document Income Withholding" |
1481 | 717 | msgstr "LĂneas del Documento de RetenciĂ³n de ISLR" | 717 | msgstr "LĂneas del Documento de RetenciĂ³n de ISLR" |
1482 | 718 | 718 | ||
1483 | 719 | #. module: l10n_ve_withholding_islr | 719 | #. module: l10n_ve_withholding_islr |
1484 | @@ -758,7 +758,7 @@ | |||
1485 | 758 | #. module: l10n_ve_withholding_islr | 758 | #. module: l10n_ve_withholding_islr |
1486 | 759 | #: model:ir.actions.report.xml,name:l10n_ve_withholding_islr.list_report_withholding_islr | 759 | #: model:ir.actions.report.xml,name:l10n_ve_withholding_islr.list_report_withholding_islr |
1487 | 760 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_wh_configuration_islr | 760 | #: model:ir.ui.menu,name:l10n_ve_withholding_islr.menu_wh_configuration_islr |
1489 | 761 | msgid "Withholding Income" | 761 | msgid "Income Withholding" |
1490 | 762 | msgstr "RetenciĂ³n de ISLR" | 762 | msgstr "RetenciĂ³n de ISLR" |
1491 | 763 | 763 | ||
1492 | 764 | #. module: l10n_ve_withholding_islr | 764 | #. module: l10n_ve_withholding_islr |
1493 | @@ -778,7 +778,7 @@ | |||
1494 | 778 | 778 | ||
1495 | 779 | #. module: l10n_ve_withholding_islr | 779 | #. module: l10n_ve_withholding_islr |
1496 | 780 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_doc | 780 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_doc |
1498 | 781 | msgid "Document Withholding Income" | 781 | msgid "Document Income Withholding" |
1499 | 782 | msgstr "Documento de RetenciĂ³n de ISLR" | 782 | msgstr "Documento de RetenciĂ³n de ISLR" |
1500 | 783 | 783 | ||
1501 | 784 | #. module: l10n_ve_withholding_islr | 784 | #. module: l10n_ve_withholding_islr |
1502 | @@ -788,7 +788,7 @@ | |||
1503 | 788 | 788 | ||
1504 | 789 | #. module: l10n_ve_withholding_islr | 789 | #. module: l10n_ve_withholding_islr |
1505 | 790 | #: help:product.template,concept_id:0 | 790 | #: help:product.template,concept_id:0 |
1507 | 791 | msgid "Concept Withholding Income to apply to the service" | 791 | msgid "Concept Income Withholding to apply to the service" |
1508 | 792 | msgstr "Concepto de RetenciĂ³n a aplicar para el servicio" | 792 | msgstr "Concepto de RetenciĂ³n a aplicar para el servicio" |
1509 | 793 | 793 | ||
1510 | 794 | #. module: l10n_ve_withholding_islr | 794 | #. module: l10n_ve_withholding_islr |
1511 | @@ -813,7 +813,7 @@ | |||
1512 | 813 | 813 | ||
1513 | 814 | #. module: l10n_ve_withholding_islr | 814 | #. module: l10n_ve_withholding_islr |
1514 | 815 | #: model:ir.actions.report.xml,name:l10n_ve_withholding_islr.voucher_report_withholding_islr | 815 | #: model:ir.actions.report.xml,name:l10n_ve_withholding_islr.voucher_report_withholding_islr |
1516 | 816 | msgid "Voucher Withholding Income" | 816 | msgid "Voucher Income Withholding" |
1517 | 817 | msgstr "Comprobante de ISLR" | 817 | msgstr "Comprobante de ISLR" |
1518 | 818 | 818 | ||
1519 | 819 | #. module: l10n_ve_withholding_islr | 819 | #. module: l10n_ve_withholding_islr |
1520 | @@ -828,7 +828,7 @@ | |||
1521 | 828 | 828 | ||
1522 | 829 | #. module: l10n_ve_withholding_islr | 829 | #. module: l10n_ve_withholding_islr |
1523 | 830 | #: view:islr.wh.doc.line:0 | 830 | #: view:islr.wh.doc.line:0 |
1525 | 831 | msgid "Detail of the Concept of Withholding Income" | 831 | msgid "Detail of the Concept of Income Withholding" |
1526 | 832 | msgstr "Detalle del Concepto de RetenciĂ³n de ISLR" | 832 | msgstr "Detalle del Concepto de RetenciĂ³n de ISLR" |
1527 | 833 | 833 | ||
1528 | 834 | #. module: l10n_ve_withholding_islr | 834 | #. module: l10n_ve_withholding_islr |
1529 | @@ -872,7 +872,7 @@ | |||
1530 | 872 | #. module: l10n_ve_withholding_islr | 872 | #. module: l10n_ve_withholding_islr |
1531 | 873 | #: code:addons/l10n_ve_withholding_islr/installer.py:93 | 873 | #: code:addons/l10n_ve_withholding_islr/installer.py:93 |
1532 | 874 | #, python-format | 874 | #, python-format |
1534 | 875 | msgid "Journal Withholding Income Sale" | 875 | msgid "Journal Income Withholding Sale" |
1535 | 876 | msgstr "Diario ISLR para ventas" | 876 | msgstr "Diario ISLR para ventas" |
1536 | 877 | 877 | ||
1537 | 878 | #. module: l10n_ve_withholding_islr | 878 | #. module: l10n_ve_withholding_islr |
1538 | @@ -974,7 +974,7 @@ | |||
1539 | 974 | 974 | ||
1540 | 975 | #. module: l10n_ve_withholding_islr | 975 | #. module: l10n_ve_withholding_islr |
1541 | 976 | #: field:wh.islr.config,account_sale:0 | 976 | #: field:wh.islr.config,account_sale:0 |
1543 | 977 | msgid "Account Withholding Income Sale" | 977 | msgid "Account Income Withholding Sale" |
1544 | 978 | msgstr "Cuenta contable ISLR (ventas)" | 978 | msgstr "Cuenta contable ISLR (ventas)" |
1545 | 979 | 979 | ||
1546 | 980 | #. module: l10n_ve_withholding_islr | 980 | #. module: l10n_ve_withholding_islr |
1547 | @@ -1015,7 +1015,7 @@ | |||
1548 | 1015 | #. module: l10n_ve_withholding_islr | 1015 | #. module: l10n_ve_withholding_islr |
1549 | 1016 | #: code:addons/l10n_ve_withholding_islr/invoice.py:229 | 1016 | #: code:addons/l10n_ve_withholding_islr/invoice.py:229 |
1550 | 1017 | #, python-format | 1017 | #, python-format |
1552 | 1018 | msgid "Impossible withholding income, because the Concept of Withholding associated with type line is not withheld!" | 1018 | msgid "Impossible income withholding, because the Concept of Withholding associated with type line is not withheld!" |
1553 | 1019 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que el Concepto de RetenciĂ³n asociado a la lĂnea no es de tipo Retenible!" | 1019 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que el Concepto de RetenciĂ³n asociado a la lĂnea no es de tipo Retenible!" |
1554 | 1020 | 1020 | ||
1555 | 1021 | #. module: l10n_ve_withholding_islr | 1021 | #. module: l10n_ve_withholding_islr |
1556 | @@ -1038,7 +1038,7 @@ | |||
1557 | 1038 | #. module: l10n_ve_withholding_islr | 1038 | #. module: l10n_ve_withholding_islr |
1558 | 1039 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_concept | 1039 | #: model:ir.model,name:l10n_ve_withholding_islr.model_islr_wh_concept |
1559 | 1040 | #: field:islr.wh.doc,concept_ids:0 | 1040 | #: field:islr.wh.doc,concept_ids:0 |
1561 | 1041 | msgid "Withholding Income Concept" | 1041 | msgid "Income Withholding Concept" |
1562 | 1042 | msgstr "Concepto de RetenciĂ³n de ISLR" | 1042 | msgstr "Concepto de RetenciĂ³n de ISLR" |
1563 | 1043 | 1043 | ||
1564 | 1044 | #. module: l10n_ve_withholding_islr | 1044 | #. module: l10n_ve_withholding_islr |
1565 | @@ -1053,7 +1053,7 @@ | |||
1566 | 1053 | 1053 | ||
1567 | 1054 | #. module: l10n_ve_withholding_islr | 1054 | #. module: l10n_ve_withholding_islr |
1568 | 1055 | #: help:wh.islr.config,account_purchase:0 | 1055 | #: help:wh.islr.config,account_purchase:0 |
1570 | 1056 | msgid "Account for purchase operations involving Withholding Income" | 1056 | msgid "Account for purchase operations involving Income Withholding" |
1571 | 1057 | msgstr "Cuenta contable para operaciones de compra que involucran ISLR" | 1057 | msgstr "Cuenta contable para operaciones de compra que involucran ISLR" |
1572 | 1058 | 1058 | ||
1573 | 1059 | #. module: l10n_ve_withholding_islr | 1059 | #. module: l10n_ve_withholding_islr |
1574 | @@ -1078,8 +1078,8 @@ | |||
1575 | 1078 | 1078 | ||
1576 | 1079 | #. module: l10n_ve_withholding_islr | 1079 | #. module: l10n_ve_withholding_islr |
1577 | 1080 | #: help:islr.xml.wh.doc,name:0 | 1080 | #: help:islr.xml.wh.doc,name:0 |
1580 | 1081 | msgid "Description about statement of withholding income" | 1081 | msgid "Description about statement of income withholding" |
1581 | 1082 | msgstr "Description about statement of withholding income" | 1082 | msgstr "Description about statement of income withholding" |
1582 | 1083 | 1083 | ||
1583 | 1084 | #. module: l10n_ve_withholding_islr | 1084 | #. module: l10n_ve_withholding_islr |
1584 | 1085 | #: report:islr.wh.doc:0 | 1085 | #: report:islr.wh.doc:0 |
1585 | @@ -1088,12 +1088,12 @@ | |||
1586 | 1088 | 1088 | ||
1587 | 1089 | #. module: l10n_ve_withholding_islr | 1089 | #. module: l10n_ve_withholding_islr |
1588 | 1090 | #: view:islr.wh.concept:0 | 1090 | #: view:islr.wh.concept:0 |
1590 | 1091 | msgid "Search Concept of Withholding Income" | 1091 | msgid "Search Concept of Income Withholding" |
1591 | 1092 | msgstr "BĂºsqueda - Concepto de RetenciĂ³n de ISLR" | 1092 | msgstr "BĂºsqueda - Concepto de RetenciĂ³n de ISLR" |
1592 | 1093 | 1093 | ||
1593 | 1094 | #. module: l10n_ve_withholding_islr | 1094 | #. module: l10n_ve_withholding_islr |
1594 | 1095 | #: field:res.partner,islr_withholding_agent:0 | 1095 | #: field:res.partner,islr_withholding_agent:0 |
1596 | 1096 | msgid "Withholding Income Agent?" | 1096 | msgid "Income Withholding Agent?" |
1597 | 1097 | msgstr "Agente de RetenciĂ³n de ISLR?" | 1097 | msgstr "Agente de RetenciĂ³n de ISLR?" |
1598 | 1098 | 1098 | ||
1599 | 1099 | #. module: l10n_ve_withholding_islr | 1099 | #. module: l10n_ve_withholding_islr |
1600 | @@ -1174,7 +1174,7 @@ | |||
1601 | 1174 | #. module: l10n_ve_withholding_islr | 1174 | #. module: l10n_ve_withholding_islr |
1602 | 1175 | #: code:addons/l10n_ve_withholding_islr/invoice.py:166 | 1175 | #: code:addons/l10n_ve_withholding_islr/invoice.py:166 |
1603 | 1176 | #, python-format | 1176 | #, python-format |
1605 | 1177 | msgid "Impossible withholding income, because the partner '%s' country has not defined direction in fiscal!" | 1177 | msgid "Impossible income withholding, because the partner '%s' country has not defined direction in fiscal!" |
1606 | 1178 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el partner '%s' no tiene paĂs en su facturaciĂ³n fiscal!" | 1178 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el partner '%s' no tiene paĂs en su facturaciĂ³n fiscal!" |
1607 | 1179 | 1179 | ||
1608 | 1180 | #. module: l10n_ve_withholding_islr | 1180 | #. module: l10n_ve_withholding_islr |
1609 | @@ -1252,7 +1252,7 @@ | |||
1610 | 1252 | 1252 | ||
1611 | 1253 | #. module: l10n_ve_withholding_islr | 1253 | #. module: l10n_ve_withholding_islr |
1612 | 1254 | #: help:wh.islr.config,account_sale:0 | 1254 | #: help:wh.islr.config,account_sale:0 |
1614 | 1255 | msgid "Account for sale operations involving Withholding Income" | 1255 | msgid "Account for sale operations involving Income Withholding" |
1615 | 1256 | msgstr "Cuenta para operaciones de ventas que involucran ISLR" | 1256 | msgstr "Cuenta para operaciones de ventas que involucran ISLR" |
1616 | 1257 | 1257 | ||
1617 | 1258 | #. module: l10n_ve_withholding_islr | 1258 | #. module: l10n_ve_withholding_islr |
1618 | @@ -1294,7 +1294,7 @@ | |||
1619 | 1294 | #. module: l10n_ve_withholding_islr | 1294 | #. module: l10n_ve_withholding_islr |
1620 | 1295 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:410 | 1295 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:410 |
1621 | 1296 | #, python-format | 1296 | #, python-format |
1623 | 1297 | msgid "Impossible withholding income, because the supplier '%s' withholding agent is not!" | 1297 | msgid "Impossible income withholding, because the supplier '%s' withholding agent is not!" |
1624 | 1298 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el comprador '%s' no es agente de RetenciĂ³n!" | 1298 | msgstr "Imposible realizar Comprobante de RetenciĂ³n de ISLR, debido a que el comprador '%s' no es agente de RetenciĂ³n!" |
1625 | 1299 | 1299 | ||
1626 | 1300 | #. module: l10n_ve_withholding_islr | 1300 | #. module: l10n_ve_withholding_islr |
1627 | @@ -1305,22 +1305,22 @@ | |||
1628 | 1305 | #. module: l10n_ve_withholding_islr | 1305 | #. module: l10n_ve_withholding_islr |
1629 | 1306 | #: model:ir.module.module,description:l10n_ve_withholding_islr.module_meta_information | 1306 | #: model:ir.module.module,description:l10n_ve_withholding_islr.module_meta_information |
1630 | 1307 | msgid "\n" | 1307 | msgid "\n" |
1632 | 1308 | " ----------Automatically Calculated Withholding Income------------\n" | 1308 | " ----------Automatically Calculated Income Withholding------------\n" |
1633 | 1309 | "\n" | 1309 | "\n" |
1634 | 1310 | " What make this module?\n" | 1310 | " What make this module?\n" |
1635 | 1311 | " \n" | 1311 | " \n" |
1638 | 1312 | " --Generate the voucher of withholding income to validate the invoice.\n" | 1312 | " --Generate the voucher of income withholding to validate the invoice.\n" |
1639 | 1313 | " --Generate the report of voucher of withholding income.\n" | 1313 | " --Generate the report of voucher of income withholding.\n" |
1640 | 1314 | " --Generate the file .xml required by the Venezuelan laws, for agent\n" | 1314 | " --Generate the file .xml required by the Venezuelan laws, for agent\n" |
1642 | 1315 | " of withholding income specials.\n" | 1315 | " of income withholding specials.\n" |
1643 | 1316 | " --Generate view for load the concepts of wittholding whith their rates.\n" | 1316 | " --Generate view for load the concepts of wittholding whith their rates.\n" |
1645 | 1317 | " --Generate view for visualize the withholding income for suppilers and \n" | 1317 | " --Generate view for visualize the income withholding for suppilers and \n" |
1646 | 1318 | " customers.\n" | 1318 | " customers.\n" |
1647 | 1319 | " --Load data of the 86 concepts of wittholdings whith their rates.\n" | 1319 | " --Load data of the 86 concepts of wittholdings whith their rates.\n" |
1648 | 1320 | "\n" | 1320 | "\n" |
1649 | 1321 | " Impromevents\n" | 1321 | " Impromevents\n" |
1650 | 1322 | " \n" | 1322 | " \n" |
1652 | 1323 | " --For include the functionality of the withholding income to sales, \n" | 1323 | " --For include the functionality of the income withholding to sales, \n" |
1653 | 1324 | " purchases and stock you should installer the module: l10n_ve_sale_purchase.\n" | 1324 | " purchases and stock you should installer the module: l10n_ve_sale_purchase.\n" |
1654 | 1325 | " " | 1325 | " " |
1655 | 1326 | msgstr "\n" | 1326 | msgstr "\n" |
1656 | @@ -1353,7 +1353,7 @@ | |||
1657 | 1353 | #. module: l10n_ve_withholding_islr | 1353 | #. module: l10n_ve_withholding_islr |
1658 | 1354 | #: code:addons/l10n_ve_withholding_islr/product.py:62 | 1354 | #: code:addons/l10n_ve_withholding_islr/product.py:62 |
1659 | 1355 | #, python-format | 1355 | #, python-format |
1661 | 1356 | msgid "Must create the concept of withholding income" | 1356 | msgid "Must create the concept of income withholding" |
1662 | 1357 | msgstr "Debe crear el concepto de retenciĂ³n de ISLR" | 1357 | msgstr "Debe crear el concepto de retenciĂ³n de ISLR" |
1663 | 1358 | 1358 | ||
1664 | 1359 | #. module: l10n_ve_withholding_islr | 1359 | #. module: l10n_ve_withholding_islr |
1665 | @@ -1369,12 +1369,12 @@ | |||
1666 | 1369 | #: view:islr.xml.wh.line:0 | 1369 | #: view:islr.xml.wh.line:0 |
1667 | 1370 | #: view:product.product:0 | 1370 | #: view:product.product:0 |
1668 | 1371 | #: view:product.template:0 | 1371 | #: view:product.template:0 |
1670 | 1372 | msgid "Concept of Withholding Income" | 1372 | msgid "Concept of Income Withholding" |
1671 | 1373 | msgstr "Concepto de RetenciĂ³n de ISLR" | 1373 | msgstr "Concepto de RetenciĂ³n de ISLR" |
1672 | 1374 | 1374 | ||
1673 | 1375 | #. module: l10n_ve_withholding_islr | 1375 | #. module: l10n_ve_withholding_islr |
1674 | 1376 | #: help:wh.islr.config,wh_agent:0 | 1376 | #: help:wh.islr.config,wh_agent:0 |
1676 | 1377 | msgid "Check if this company is a withholding income agent" | 1377 | msgid "Check if this company is a income withholding agent" |
1677 | 1378 | msgstr "Determine si su cumpañĂa es un agente de retenciĂ³n de ISLR" | 1378 | msgstr "Determine si su cumpañĂa es un agente de retenciĂ³n de ISLR" |
1678 | 1379 | 1379 | ||
1679 | 1380 | #. module: l10n_ve_withholding_islr | 1380 | #. module: l10n_ve_withholding_islr |
1680 | @@ -1385,7 +1385,7 @@ | |||
1681 | 1385 | #. module: l10n_ve_withholding_islr | 1385 | #. module: l10n_ve_withholding_islr |
1682 | 1386 | #: code:addons/l10n_ve_withholding_islr/invoice.py:280 | 1386 | #: code:addons/l10n_ve_withholding_islr/invoice.py:280 |
1683 | 1387 | #, python-format | 1387 | #, python-format |
1685 | 1388 | msgid "Impossible withholding income, because the invoice number: '%s' has not control number associated!" | 1388 | msgid "Impossible income withholding, because the invoice number: '%s' has not control number associated!" |
1686 | 1389 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que la factura nĂºmero: '%s' no tiene NĂºmero de Control Asociado!" | 1389 | msgstr "Imposible realizar Comprobante de RetenciĂ³n ISLR, debido a que la factura nĂºmero: '%s' no tiene NĂºmero de Control Asociado!" |
1687 | 1390 | 1390 | ||
1688 | 1391 | #. module: l10n_ve_withholding_islr | 1391 | #. module: l10n_ve_withholding_islr |
1689 | @@ -1426,12 +1426,12 @@ | |||
1690 | 1426 | #. module: l10n_ve_withholding_islr | 1426 | #. module: l10n_ve_withholding_islr |
1691 | 1427 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:412 | 1427 | #: code:addons/l10n_ve_withholding_islr/islr_wh_doc.py:412 |
1692 | 1428 | #, python-format | 1428 | #, python-format |
1694 | 1429 | msgid "Impossible withholding income, because the lines of the invoice has not concept withholding!" | 1429 | msgid "Impossible income withholding, because the lines of the invoice has not concept withholding!" |
1695 | 1430 | msgstr "Imposible realizar retenciĂ³n de ISLR, porque las lineas de la factura no tienen concepto de retenciĂ³n asociado!" | 1430 | msgstr "Imposible realizar retenciĂ³n de ISLR, porque las lineas de la factura no tienen concepto de retenciĂ³n asociado!" |
1696 | 1431 | 1431 | ||
1697 | 1432 | #. module: l10n_ve_withholding_islr | 1432 | #. module: l10n_ve_withholding_islr |
1698 | 1433 | #: view:wh.islr.config:0 | 1433 | #: view:wh.islr.config:0 |
1700 | 1434 | msgid "Withholding income Configuration" | 1434 | msgid "Income withholding Configuration" |
1701 | 1435 | msgstr "ConfiguraciĂ³n de la RetenciĂ³n de ISLR" | 1435 | msgstr "ConfiguraciĂ³n de la RetenciĂ³n de ISLR" |
1702 | 1436 | 1436 | ||
1703 | 1437 | #. module: l10n_ve_withholding_islr | 1437 | #. module: l10n_ve_withholding_islr |
1704 | @@ -1442,7 +1442,7 @@ | |||
1705 | 1442 | #. module: l10n_ve_withholding_islr | 1442 | #. module: l10n_ve_withholding_islr |
1706 | 1443 | #: view:wh.islr.config:0 | 1443 | #: view:wh.islr.config:0 |
1707 | 1444 | msgid "\n" | 1444 | msgid "\n" |
1709 | 1445 | "Configure your company's withholding income \n" | 1445 | "Configure your company's income withholding \n" |
1710 | 1446 | " " | 1446 | " " |
1711 | 1447 | msgstr "\n" | 1447 | msgstr "\n" |
1712 | 1448 | "Configure los datos de su compañĂa para la RetenciĂ³n del Impuesto Sobre La Renta (ISLR) \n" | 1448 | "Configure los datos de su compañĂa para la RetenciĂ³n del Impuesto Sobre La Renta (ISLR) \n" |
1713 | 1449 | 1449 | ||
1714 | === modified file 'l10n_ve_withholding_islr/model/installer.py' | |||
1715 | --- l10n_ve_withholding_islr/model/installer.py 2012-12-09 23:55:45 +0000 | |||
1716 | +++ l10n_ve_withholding_islr/model/installer.py 2013-01-14 19:15:27 +0000 | |||
1717 | @@ -74,24 +74,24 @@ | |||
1718 | 74 | self._set_wh_agent(cr, uid) | 74 | self._set_wh_agent(cr, uid) |
1719 | 75 | 75 | ||
1720 | 76 | _columns = { | 76 | _columns = { |
1723 | 77 | 'journal_purchase': fields.char("Journal Wh Income Purchase", 64, help="Journal for purchase operations involving Withholding Income"), | 77 | 'journal_purchase': fields.char("Journal Wh Income Purchase", 64, help="Journal for purchase operations involving Income Withholding"), |
1724 | 78 | 'journal_sale': fields.char("Journal Wh Income Sale", 64, help="Journal for sale operations involving Withholding Income"), | 78 | 'journal_sale': fields.char("Journal Wh Income Sale", 64, help="Journal for sale operations involving Income Withholding"), |
1725 | 79 | 'account_purchase': fields.many2one( | 79 | 'account_purchase': fields.many2one( |
1726 | 80 | "account.account", | 80 | "account.account", |
1729 | 81 | "Account Withholding Income Purchase", | 81 | "Account Income Withholding Purchase", |
1730 | 82 | help="Account for purchase operations involving Withholding Income" | 82 | help="Account for purchase operations involving Income Withholding" |
1731 | 83 | ), | 83 | ), |
1732 | 84 | 'account_sale': fields.many2one( | 84 | 'account_sale': fields.many2one( |
1733 | 85 | "account.account", | 85 | "account.account", |
1736 | 86 | "Account Withholding Income Sale", | 86 | "Account Income Withholding Sale", |
1737 | 87 | help="Account for sale operations involving Withholding Income", | 87 | help="Account for sale operations involving Income Withholding", |
1738 | 88 | ), | 88 | ), |
1740 | 89 | 'wh_agent': fields.boolean("Withholding Income Agent", help="Check if this company is a withholding income agent"), | 89 | 'wh_agent': fields.boolean("Income Withholding Agent", help="Check if this company is a income withholding agent"), |
1741 | 90 | } | 90 | } |
1742 | 91 | 91 | ||
1743 | 92 | _defaults = { | 92 | _defaults = { |
1746 | 93 | 'journal_purchase': _("Journal Withholding Income Purchase"), | 93 | 'journal_purchase': _("Journal Income Withholding Purchase"), |
1747 | 94 | 'journal_sale': _("Journal Withholding Income Sale"), | 94 | 'journal_sale': _("Journal Income Withholding Sale"), |
1748 | 95 | } | 95 | } |
1749 | 96 | 96 | ||
1750 | 97 | wh_islr_config() | 97 | wh_islr_config() |
1751 | 98 | 98 | ||
1752 | === modified file 'l10n_ve_withholding_islr/model/invoice.py' | |||
1753 | --- l10n_ve_withholding_islr/model/invoice.py 2012-12-09 23:55:45 +0000 | |||
1754 | +++ l10n_ve_withholding_islr/model/invoice.py 2013-01-14 19:15:27 +0000 | |||
1755 | @@ -39,7 +39,7 @@ | |||
1756 | 39 | _inherit = "account.invoice.line" | 39 | _inherit = "account.invoice.line" |
1757 | 40 | _columns = { | 40 | _columns = { |
1758 | 41 | 'apply_wh': fields.boolean('Withheld',help="Indicates whether a line has been retained or not, to accumulate the amount to withhold next month, according to the lines that have not been retained."), | 41 | 'apply_wh': fields.boolean('Withheld',help="Indicates whether a line has been retained or not, to accumulate the amount to withhold next month, according to the lines that have not been retained."), |
1760 | 42 | 'concept_id': fields.many2one('islr.wh.concept','Withholding Concept',help="Concept of Withholding Income asociate this rate",required=False), | 42 | 'concept_id': fields.many2one('islr.wh.concept','Withholding Concept',help="Concept of Income Withholding asociate this rate",required=False), |
1761 | 43 | } | 43 | } |
1762 | 44 | _defaults = { | 44 | _defaults = { |
1763 | 45 | 'apply_wh': lambda *a: False, | 45 | 'apply_wh': lambda *a: False, |
1764 | @@ -93,6 +93,76 @@ | |||
1765 | 93 | _defaults = { | 93 | _defaults = { |
1766 | 94 | 'status': lambda *a: "no_pro", | 94 | 'status': lambda *a: "no_pro", |
1767 | 95 | } | 95 | } |
1768 | 96 | ## BEGIN OF REWRITING ISLR | ||
1769 | 97 | |||
1770 | 98 | def check_invoice_type(self, cr, uid, ids, context=None): | ||
1771 | 99 | ''' | ||
1772 | 100 | This method check if the given invoice record is from a supplier | ||
1773 | 101 | ''' | ||
1774 | 102 | context = context or {} | ||
1775 | 103 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
1776 | 104 | inv_brw = self.browse(cr, uid, ids[0],context=context) | ||
1777 | 105 | return inv_brw.type in ('in_invoice', 'in_refund') | ||
1778 | 106 | |||
1779 | 107 | def check_withholdable_concept(self, cr, uid, ids, context=None): | ||
1780 | 108 | ''' | ||
1781 | 109 | Check if the given invoice record is ISLR Withholdable | ||
1782 | 110 | ''' | ||
1783 | 111 | context = context or {} | ||
1784 | 112 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
1785 | 113 | iwdi_obj = self.pool.get('islr.wh.doc.invoices') | ||
1786 | 114 | return iwdi_obj._get_concepts(cr, uid, ids, context=context) | ||
1787 | 115 | |||
1788 | 116 | def _create_doc_invoices(self,cr,uid,ids,islr_wh_doc_id,context=None): | ||
1789 | 117 | ''' | ||
1790 | 118 | This method link the invoices to be withheld | ||
1791 | 119 | with the withholding document. | ||
1792 | 120 | ''' | ||
1793 | 121 | #TODO: CHECK IF THIS METHOD SHOULD BE HERE OR IN THE ISLR WH DOC | ||
1794 | 122 | context = context or {} | ||
1795 | 123 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
1796 | 124 | doc_inv_obj = self.pool.get('islr.wh.doc.invoices') | ||
1797 | 125 | iwhdi_ids=[] | ||
1798 | 126 | for inv_id in ids: | ||
1799 | 127 | iwhdi_ids.append(doc_inv_obj.create(cr,uid, | ||
1800 | 128 | {'invoice_id':inv_id,'islr_wh_doc_id':islr_wh_doc_id})) | ||
1801 | 129 | return iwhdi_ids | ||
1802 | 130 | |||
1803 | 131 | def _create_islr_wh_doc(self,cr,uid,ids,context=None): | ||
1804 | 132 | ''' | ||
1805 | 133 | Funcion para crear en el modelo islr_wh_doc | ||
1806 | 134 | ''' | ||
1807 | 135 | context = context or {} | ||
1808 | 136 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
1809 | 137 | |||
1810 | 138 | doc_line_obj = self.pool.get('islr.wh.doc.line') | ||
1811 | 139 | wh_doc_obj = self.pool.get('islr.wh.doc') | ||
1812 | 140 | inv_obj =self.pool.get('account.invoice.line') | ||
1813 | 141 | rate_obj = self.pool.get('islr.rates') | ||
1814 | 142 | |||
1815 | 143 | row = self.browse(cr,uid,ids[0],context=context) | ||
1816 | 144 | context['type']=row.type | ||
1817 | 145 | wh_ret_code = wh_doc_obj.retencion_seq_get(cr, uid) | ||
1818 | 146 | |||
1819 | 147 | if wh_ret_code: | ||
1820 | 148 | islr_wh_doc_id = wh_doc_obj.create(cr,uid, | ||
1821 | 149 | {'name': wh_ret_code, | ||
1822 | 150 | 'partner_id': row.partner_id.id, | ||
1823 | 151 | 'invoice_id': row.id, | ||
1824 | 152 | 'period_id': row.period_id.id, | ||
1825 | 153 | 'account_id': row.account_id.id, | ||
1826 | 154 | 'type': row.type, | ||
1827 | 155 | 'journal_id': wh_doc_obj._get_journal(cr,uid,context=context),}) | ||
1828 | 156 | self._create_doc_invoices(cr,uid,row.id,islr_wh_doc_id) | ||
1829 | 157 | else: | ||
1830 | 158 | raise osv.except_osv(_('Invalid action !'),_("No se ha encontrado el numero de secuencia!")) | ||
1831 | 159 | |||
1832 | 160 | self.write(cr,uid,ids,{'islr_wh_doc_id':islr_wh_doc_id,'islr_wh_doc_name':wh_ret_code}) | ||
1833 | 161 | |||
1834 | 162 | #wf_service = netsvc.LocalService("workflow") | ||
1835 | 163 | #wf_service.trg_validate(uid, 'islr.wh.doc', islr_wh_doc_id, 'button_confirm', cr) | ||
1836 | 164 | return islr_wh_doc_id | ||
1837 | 165 | ## END OF REWRITING ISLR | ||
1838 | 96 | 166 | ||
1839 | 97 | def copy(self, cr, uid, id, default=None, context=None): | 167 | def copy(self, cr, uid, id, default=None, context=None): |
1840 | 98 | 168 | ||
1841 | @@ -125,572 +195,6 @@ | |||
1842 | 125 | list.append((x,y,res)) | 195 | list.append((x,y,res)) |
1843 | 126 | return list | 196 | return list |
1844 | 127 | 197 | ||
1845 | 128 | def _get_partners(self, cr, uid, invoice): | ||
1846 | 129 | ''' | ||
1847 | 130 | Get the seller id, the buyer id from the invoice, and the boolean field that determines whether the buyer is the withholding agent | ||
1848 | 131 | ''' | ||
1849 | 132 | if invoice.type == 'in_invoice' or invoice.type == 'in_refund': | ||
1850 | 133 | vendor = invoice.partner_id | ||
1851 | 134 | buyer = invoice.company_id.partner_id | ||
1852 | 135 | else: | ||
1853 | 136 | buyer = invoice.partner_id | ||
1854 | 137 | vendor = invoice.company_id.partner_id | ||
1855 | 138 | return (vendor, buyer, buyer.islr_withholding_agent) | ||
1856 | 139 | |||
1857 | 140 | def _get_concepts(self, cr, uid, invoice): | ||
1858 | 141 | ''' | ||
1859 | 142 | Gets a list of concepts (cocenpt_id) from the invoice lines | ||
1860 | 143 | ''' | ||
1861 | 144 | service_list = [] | ||
1862 | 145 | for invoice_line in invoice.invoice_line: | ||
1863 | 146 | if invoice_line.concept_id and invoice_line.concept_id.withholdable: | ||
1864 | 147 | service_list.append(invoice_line.concept_id.id) | ||
1865 | 148 | else: | ||
1866 | 149 | pass | ||
1867 | 150 | return list(set(service_list)) | ||
1868 | 151 | |||
1869 | 152 | def _get_service_wh(self, cr, uid, invoice, concept_list): | ||
1870 | 153 | ''' | ||
1871 | 154 | Gets all the vendor invoice lines, filtering by the period of the current invoice and the invoice state equal to {done, onpen} | ||
1872 | 155 | The lines are stored in a dictionary, where the first key is the list of lines obtained, the second key is the field that indicates wheter any of these line was withholding, and the third key is the sum of the base of all the lines that have not withholding applied | ||
1873 | 156 | A search in the lines is done seeking for lines that have withholding concepts equals to the current invoice. This is done to verify: | ||
1874 | 157 | 1.- If exist the same concepts in another invoice line that have not been withholding cause the amount have no exceeded the minimum value therefore this amount its taken to perform the sum and verification. If the amount exceeds the minimun then withholding is applied to the associated invoices. | ||
1875 | 158 | 2.- Verify if is the first time that a withholding is applied on that concept, If is true then the subtrahend is applied in the second key "wf" of the dictionary | ||
1876 | 159 | |||
1877 | 160 | ''' | ||
1878 | 161 | dict={} | ||
1879 | 162 | for key in concept_list: | ||
1880 | 163 | dict[key]={'lines':[],'wh':False,'base':0.0} | ||
1881 | 164 | #~ inv_obj = self.pool.get('account.invoice') | ||
1882 | 165 | #~ inv_lst = inv_obj.search(cr, uid,[('partner_id', '=', invoice.partner_id.id),('period_id','=',invoice.period_id.id),('state','in',['done','open'])]) # Lista de facturas asociadas al proveedor actual, al periodo actual y al estado de las facturas: donde, open. | ||
1883 | 166 | #~ | ||
1884 | 167 | #~ inv_line_lst=[] | ||
1885 | 168 | #~ for id in inv_lst: | ||
1886 | 169 | #~ inv_line_brw = inv_obj.browse(cr, uid, id).invoice_line #lista de lineas de facturas | ||
1887 | 170 | for line in invoice.invoice_line: | ||
1888 | 171 | if line.concept_id and line.concept_id.id in concept_list: # Se verifica si el concepto de la linea en la que estoy buscando coincide con alguno de los conceptos de la factura actual. | ||
1889 | 172 | if not line.apply_wh: # Se verifica si a la linea no se le ha aplicado retencion, de ser asi se almacena el id de la linea y la base. | ||
1890 | 173 | dict[line.concept_id.id]['lines'].append(line.id) | ||
1891 | 174 | dict[line.concept_id.id]['base']+= line.price_subtotal | ||
1892 | 175 | else: # Si ya se le aplico retencion, no se guarda el id porque no hace falta pero se indica que ya se le aplico retencion. | ||
1893 | 176 | dict[line.concept_id.id]['wh']=True | ||
1894 | 177 | #~ dict[key]={'lines':[],'wh':False,'base':0.0} | ||
1895 | 178 | return dict | ||
1896 | 179 | |||
1897 | 180 | def _get_country_fiscal(self,cr, uid, partner_id): | ||
1898 | 181 | ''' | ||
1899 | 182 | Gets depending on the parameters the country of the seller or buyer from the fiscal address. | ||
1900 | 183 | ''' | ||
1901 | 184 | for i in partner_id.address: | ||
1902 | 185 | if i.type == 'invoice': | ||
1903 | 186 | if not i.country_id: | ||
1904 | 187 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the partner '%s' country has not defined direction in fiscal!") % (partner_id.name)) | ||
1905 | 188 | return False | ||
1906 | 189 | else: | ||
1907 | 190 | return i.country_id.id | ||
1908 | 191 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the partner '%s' has not fiscal direction set!.") % (partner_id.name)) | ||
1909 | 192 | return False | ||
1910 | 193 | |||
1911 | 194 | def _get_residence(self, cr, uid, vendor, buyer): | ||
1912 | 195 | ''' | ||
1913 | 196 | Determines whether the buyer fiscal address is the same that the seller. with the objective of later get the associated rate. | ||
1914 | 197 | Return True if is a domiciled or resident person, False if is not | ||
1915 | 198 | ''' | ||
1916 | 199 | vendor_address = self._get_country_fiscal(cr, uid, vendor) | ||
1917 | 200 | buyer_address = self._get_country_fiscal(cr, uid, buyer) | ||
1918 | 201 | if vendor_address and buyer_address: | ||
1919 | 202 | if vendor_address == buyer_address: | ||
1920 | 203 | return True | ||
1921 | 204 | else: | ||
1922 | 205 | return False | ||
1923 | 206 | return False | ||
1924 | 207 | |||
1925 | 208 | def _get_nature(self, cr, uid, partner_id): | ||
1926 | 209 | ''' | ||
1927 | 210 | Gets the nature of the seller from RIF. Return True if is a natural person type, False if is a legal entity. | ||
1928 | 211 | ''' | ||
1929 | 212 | if not partner_id.vat: | ||
1930 | 213 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the partner '%s' has not vat associated!") % (partner_id.name)) | ||
1931 | 214 | return False | ||
1932 | 215 | else: | ||
1933 | 216 | if partner_id.vat[2:3] in 'VvEe': | ||
1934 | 217 | return True | ||
1935 | 218 | else: | ||
1936 | 219 | return False | ||
1937 | 220 | |||
1938 | 221 | def _get_rate(self, cr, uid, concept_id, residence, nature,context): | ||
1939 | 222 | ''' | ||
1940 | 223 | Gets the withholding concept rate, provided if is associated to the below specifications: | ||
1941 | 224 | - the nature of the seller match with a rate | ||
1942 | 225 | - the residence of the seller match with a rate | ||
1943 | 226 | ''' | ||
1944 | 227 | ut_obj = self.pool.get('l10n.ut') | ||
1945 | 228 | rate_brw_lst = self.pool.get('islr.wh.concept').browse(cr, uid, concept_id).rate_ids | ||
1946 | 229 | for rate_brw in rate_brw_lst: | ||
1947 | 230 | if rate_brw.nature == nature and rate_brw.residence == residence: | ||
1948 | 231 | #~ (base,min,porc,sust,codigo,id_rate,name_rate) | ||
1949 | 232 | rate_brw_minimum = ut_obj.compute_ut_to_money(cr, uid, rate_brw.minimum, False, context)#metodo que transforma los UVT en pesos | ||
1950 | 233 | rate_brw_subtract = ut_obj.compute_ut_to_money(cr, uid, rate_brw.subtract, False, context)#metodo que transforma los UVT en pesos | ||
1951 | 234 | return (rate_brw.base, rate_brw_minimum, rate_brw.wh_perc, rate_brw_subtract,rate_brw.code,rate_brw.id,rate_brw.name) | ||
1952 | 235 | return () | ||
1953 | 236 | |||
1954 | 237 | def _get_rate_dict(self, cr, uid, concept_list, residence, nature,context): | ||
1955 | 238 | ''' | ||
1956 | 239 | Returns a dictionary with the rate of each withholding concept. | ||
1957 | 240 | ''' | ||
1958 | 241 | dictd = {} | ||
1959 | 242 | cont = 0 | ||
1960 | 243 | for concept_id in concept_list: | ||
1961 | 244 | dictd[concept_id] = self._get_rate(cr, uid, concept_id, residence, nature,context) | ||
1962 | 245 | if dictd[concept_id]: | ||
1963 | 246 | cont += 1 | ||
1964 | 247 | if not cont: | ||
1965 | 248 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the Concept of Withholding associated with the line has not rate for the type of customer!")) | ||
1966 | 249 | return dictd | ||
1967 | 250 | |||
1968 | 251 | |||
1969 | 252 | def _pop_dict(self,cr,uid,concept_list,dict_rate,wh_dict): | ||
1970 | 253 | ''' | ||
1971 | 254 | Method to delete all the elements where the withholding concept does not have a rate associated, in the dictionary of concept with rates and in the dictionary of invoice lines. | ||
1972 | 255 | ''' | ||
1973 | 256 | for concept in concept_list: | ||
1974 | 257 | if not dict_rate[concept]: | ||
1975 | 258 | dict_rate.pop(concept) | ||
1976 | 259 | wh_dict.pop(concept) | ||
1977 | 260 | |||
1978 | 261 | def _get_wh_calc(self,cr,uid,line,dict_rate_concept): | ||
1979 | 262 | base = self.pool.get('account.invoice.line').browse(cr,uid,line).price_subtotal | ||
1980 | 263 | return (base * (dict_rate_concept[0]/100) * (dict_rate_concept[2]/100), base) | ||
1981 | 264 | |||
1982 | 265 | def _get_number(self,cr,uid,number,long): | ||
1983 | 266 | num1 = number[::-1] | ||
1984 | 267 | result= '' | ||
1985 | 268 | for i in num1: | ||
1986 | 269 | if i.isdigit(): | ||
1987 | 270 | if len(result)<long: | ||
1988 | 271 | result = i + result | ||
1989 | 272 | else: | ||
1990 | 273 | break | ||
1991 | 274 | else: | ||
1992 | 275 | break | ||
1993 | 276 | return result.strip() | ||
1994 | 277 | |||
1995 | 278 | |||
1996 | 279 | def _get_inv_data(self,cr, uid, line): | ||
1997 | 280 | ''' | ||
1998 | 281 | Gets the RIF of the supplier, the invoice number and the control number of the invoice. Data required for XML, among others. | ||
1999 | 282 | ''' | ||
2000 | 283 | inv_brw = self.pool.get('account.invoice.line').browse(cr, uid, line).invoice_id | ||
2001 | 284 | vat = inv_brw.partner_id.vat[2:] | ||
2002 | 285 | if inv_brw.type == 'in_invoice' or inv_brw.type == 'in_refund': | ||
2003 | 286 | #~ number = inv_brw.reference.strip() | ||
2004 | 287 | if not inv_brw.reference: | ||
2005 | 288 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income,because the invoice number: '%s' has not number reference free!") % (inv_brw.number)) | ||
2006 | 289 | number = 0 | ||
2007 | 290 | else: | ||
2008 | 291 | number = self._get_number(cr,uid,inv_brw.reference.strip(),10) | ||
2009 | 292 | else: | ||
2010 | 293 | if not inv_brw.number: | ||
2011 | 294 | number = 0 | ||
2012 | 295 | else: | ||
2013 | 296 | number = self._get_number(cr,uid,inv_brw.number.strip(),10) | ||
2014 | 297 | if not inv_brw.nro_ctrl: | ||
2015 | 298 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the invoice number: '%s' has not control number associated!") % (inv_brw.number)) | ||
2016 | 299 | else: | ||
2017 | 300 | control = self._get_number(cr,uid,inv_brw.nro_ctrl.strip(),8) | ||
2018 | 301 | |||
2019 | 302 | return (vat, number, control) | ||
2020 | 303 | |||
2021 | 304 | def _write_wh_apply(self,cr, uid,line,dict,apply,type): | ||
2022 | 305 | ''' | ||
2023 | 306 | If wh_xml_id field in the invoice line has an associated xml id: | ||
2024 | 307 | Write over the boolean field in the invoice line True o False depending on whether it holds withholding or not. | ||
2025 | 308 | Write over the xml line the value of the withholding. This happens because it could be created the xml line with a 0.0 withholding (doesnt apply at that time) but if the amount of the withholding exceeds in another invoice, will be override the value with the new withholding amount. | ||
2026 | 309 | Otherwise: | ||
2027 | 310 | Create a new xml line. | ||
2028 | 311 | Write True or False value on the invoice line, and assigns the xml id created in the previuos step. | ||
2029 | 312 | ''' | ||
2030 | 313 | il_ids = self.pool.get('account.invoice.line').browse(cr, uid,line) | ||
2031 | 314 | |||
2032 | 315 | if il_ids.wh_xml_id: | ||
2033 | 316 | self.pool.get('account.invoice.line').write(cr, uid, line, {'apply_wh': apply}) | ||
2034 | 317 | self.pool.get('islr.xml.wh.line').write(cr,uid,il_ids.wh_xml_id.id,{'wh':dict['wh']}) | ||
2035 | 318 | else: | ||
2036 | 319 | if type in ('out_invoice', 'out_refund'): | ||
2037 | 320 | self.pool.get('account.invoice.line').write(cr, uid, line, {'apply_wh': apply}) | ||
2038 | 321 | else: | ||
2039 | 322 | self.pool.get('account.invoice.line').write(cr, uid, line, {'apply_wh': apply,'wh_xml_id':self._create_islr_xml_wh_line(cr, uid,line,dict)}) | ||
2040 | 323 | message = _("Withholding income xml line generated.") | ||
2041 | 324 | self.log(cr, uid, line, message) | ||
2042 | 325 | |||
2043 | 326 | def _create_islr_xml_wh_line(self,cr, uid, line, dict): | ||
2044 | 327 | ''' | ||
2045 | 328 | Create a new xml line | ||
2046 | 329 | ''' | ||
2047 | 330 | inv_id = self.pool.get('account.invoice.line').browse(cr, uid,line).invoice_id | ||
2048 | 331 | return self.pool.get('islr.xml.wh.line').create(cr, uid, {'name': dict['name_rate'], | ||
2049 | 332 | 'concept_id': dict['concept'], | ||
2050 | 333 | 'period_id': inv_id.period_id.id, | ||
2051 | 334 | 'partner_vat':dict['vat'], | ||
2052 | 335 | 'invoice_number': dict['number'], | ||
2053 | 336 | 'control_number': dict['control'], | ||
2054 | 337 | 'concept_code':dict['code'], | ||
2055 | 338 | 'base': dict['subtotal'], | ||
2056 | 339 | 'porcent_rete':dict['perc'], | ||
2057 | 340 | 'wh':dict['wh'], | ||
2058 | 341 | 'rate_id': dict['rate_id'], | ||
2059 | 342 | 'account_invoice_line_id': line, | ||
2060 | 343 | 'account_invoice_id': inv_id.id, | ||
2061 | 344 | 'partner_id': inv_id.partner_id.id, | ||
2062 | 345 | }) | ||
2063 | 346 | |||
2064 | 347 | def _get_wh(self,cr, uid, subtract,concept, wh_dict, dict_rate, apply,context=None): | ||
2065 | 348 | ''' | ||
2066 | 349 | Returns a dictionary containing all the values ​​of the retention of an invoice line. | ||
2067 | 350 | ''' | ||
2068 | 351 | if context is None: | ||
2069 | 352 | context={} | ||
2070 | 353 | res= {} | ||
2071 | 354 | inv_obj= self.pool.get('account.invoice') | ||
2072 | 355 | if apply: # Si se va a aplicar retencion. | ||
2073 | 356 | for line in wh_dict[concept]['lines']: | ||
2074 | 357 | wh_calc, subtotal = self._get_wh_calc(cr,uid,line,dict_rate[concept]) # Obtengo el monto de retencion y el monto base sobre el cual se retiene | ||
2075 | 358 | if subtract >= wh_calc: | ||
2076 | 359 | wh = 0.0 | ||
2077 | 360 | subtract -= wh_calc | ||
2078 | 361 | else: | ||
2079 | 362 | wh = wh_calc - subtract | ||
2080 | 363 | subtract_write= subtract | ||
2081 | 364 | subtract=0.0 | ||
2082 | 365 | inv_id = self.pool.get('account.invoice.line').browse(cr, uid,line).invoice_id.id | ||
2083 | 366 | type = inv_obj.browse(cr,uid,inv_id).type | ||
2084 | 367 | res[line]={ 'vat': self._get_inv_data(cr, uid, line)[0], | ||
2085 | 368 | 'number': self._get_inv_data(cr, uid, line)[1], | ||
2086 | 369 | 'control': self._get_inv_data(cr, uid, line)[2], | ||
2087 | 370 | 'concept': concept, | ||
2088 | 371 | 'code':dict_rate[concept][4], | ||
2089 | 372 | 'subtotal': subtotal, | ||
2090 | 373 | 'perc':dict_rate[concept][2], | ||
2091 | 374 | 'wh':wh, | ||
2092 | 375 | 'apply':apply, | ||
2093 | 376 | 'rate_id':dict_rate[concept][5], | ||
2094 | 377 | 'name_rate': dict_rate[concept][6]} | ||
2095 | 378 | if not context.get('test_from_wkf',False): | ||
2096 | 379 | self._write_wh_apply(cr,uid,line,res[line],apply,type) | ||
2097 | 380 | inv_obj.write(cr, uid, inv_id, {'status': 'pro'}) | ||
2098 | 381 | else: # Si no aplica retencion | ||
2099 | 382 | for line in wh_dict[concept]['lines']: | ||
2100 | 383 | subtotal = self._get_wh_calc(cr,uid,line,dict_rate[concept])[1] | ||
2101 | 384 | inv_id = self.pool.get('account.invoice.line').browse(cr, uid,line).invoice_id.id | ||
2102 | 385 | type = inv_obj.browse(cr,uid,inv_id).type | ||
2103 | 386 | res[line]={ 'vat': self._get_inv_data(cr, uid, line)[0], | ||
2104 | 387 | 'number': self._get_inv_data(cr, uid, line)[1], | ||
2105 | 388 | 'control': self._get_inv_data(cr, uid, line)[2], | ||
2106 | 389 | 'concept': concept, | ||
2107 | 390 | 'code':dict_rate[concept][4], | ||
2108 | 391 | 'subtotal': subtotal, | ||
2109 | 392 | 'perc':dict_rate[concept][2], | ||
2110 | 393 | 'wh':0.0, | ||
2111 | 394 | 'apply':apply, | ||
2112 | 395 | 'rate_id':dict_rate[concept][5], | ||
2113 | 396 | 'name_rate': dict_rate[concept][6]} | ||
2114 | 397 | if not context.get('test_from_wkf',False): | ||
2115 | 398 | self._write_wh_apply(cr,uid,line,res[line],apply,type) | ||
2116 | 399 | inv_obj.write(cr, uid, inv_id, {'status': 'pro'}) | ||
2117 | 400 | return res | ||
2118 | 401 | |||
2119 | 402 | |||
2120 | 403 | def _get_wh_apply(self,cr,uid,dict_rate,wh_dict,nature,context=None): | ||
2121 | 404 | ''' | ||
2122 | 405 | Returns a dictionary containing all data for the withholding. Each item is an invoice line. | ||
2123 | 406 | ''' | ||
2124 | 407 | if context is None: | ||
2125 | 408 | context={} | ||
2126 | 409 | res = {} | ||
2127 | 410 | for concept in wh_dict: | ||
2128 | 411 | if not wh_dict[concept]['wh']: #Si nunca se ha aplicado retencion con este concepto. | ||
2129 | 412 | if wh_dict[concept]['base'] >= dict_rate[concept][1]: # Si el monto base que suman todas las lineas de la factura es mayor o igual al monto minimo de la tasa. | ||
2130 | 413 | subtract = dict_rate[concept][3] # Obtengo el sustraendo a aplicar. Existe sustraendo porque es la primera vez. | ||
2131 | 414 | res.update(self._get_wh(cr, uid, subtract,concept, wh_dict, dict_rate, True,context=context))# El True sirve para asignar al campo booleano de la linea de la factura True, para asi marcar de una vez que ya fue retenida, para una posterior busqueda. | ||
2132 | 415 | else: # Si el monto base no supera el monto minimo de la tasa(de igual forma se deb declarar asi no supere.) | ||
2133 | 416 | subtract = 0.0 | ||
2134 | 417 | res.update(self._get_wh(cr, uid, subtract,concept, wh_dict, dict_rate, False,context=context)) | ||
2135 | 418 | else: #Si ya se aplico alguna vez la retencion, se aplica rete de una vez, sobre la base sin chequear monto minimo.(Dentro de este periodo) | ||
2136 | 419 | if nature: | ||
2137 | 420 | subtract = dict_rate[concept][3] | ||
2138 | 421 | res.update(self._get_wh(cr, uid, subtract,concept, wh_dict, dict_rate, True,context=context)) | ||
2139 | 422 | else: | ||
2140 | 423 | subtract = 0.0 | ||
2141 | 424 | res.update(self._get_wh(cr, uid, subtract,concept, wh_dict, dict_rate, True,context=context))# El True sirve para indicar que la linea si se va a retener. | ||
2142 | 425 | return res | ||
2143 | 426 | |||
2144 | 427 | |||
2145 | 428 | def _get_amount(self,cr,uid,dict): | ||
2146 | 429 | ''' | ||
2147 | 430 | Get the sum of the withholding amount by concept. | ||
2148 | 431 | ''' | ||
2149 | 432 | dict_concept = {} | ||
2150 | 433 | for key in dict: | ||
2151 | 434 | x = dict[key]['concept'] | ||
2152 | 435 | y = dict[key]['wh'] | ||
2153 | 436 | if not dict_concept.get(x,False): | ||
2154 | 437 | dict_concept[x] = y | ||
2155 | 438 | else: | ||
2156 | 439 | dict_concept[x]+= y | ||
2157 | 440 | return dict_concept | ||
2158 | 441 | |||
2159 | 442 | |||
2160 | 443 | def _get_dict_concepts(self,cr,uid,dict): | ||
2161 | 444 | ''' | ||
2162 | 445 | Get a dictionary grouped by concept: | ||
2163 | 446 | {1:[{64: {'control': '', 'perc': 0.050000000000000003, 'concept': 1, 'number': False, 'wh': 0.0, 'code': u'A', 'rate_id': 1, 'apply': True, 'subtotal': 500.0, 'vat': u'J123456789'}}, | ||
2164 | 447 | {65: {'control': '', 'perc': 0.050000000000000003, 'concept': 1, 'number': False, 'wh': 0.0, 'code': u'A', 'rate_id': 1, 'apply': True, 'subtotal': 300.0, 'vat': u'J123456789'}} | ||
2165 | 448 | ], | ||
2166 | 449 | 2:[{63: {'control': '', 'perc': 0.029999999999999999, 'concept': 2, 'number': False, 'wh': 0.0, 'code': u'002', 'rate_id': 2, 'apply': True, 'subtotal': 1000.0, 'vat': u'J123456789'}} | ||
2167 | 450 | ]} | ||
2168 | 451 | ''' | ||
2169 | 452 | dict_concepts = {} | ||
2170 | 453 | for key in dict: | ||
2171 | 454 | x = dict[key]['concept'] | ||
2172 | 455 | y = dict[key] | ||
2173 | 456 | if not dict_concepts.get(x,False): | ||
2174 | 457 | if dict[key]['apply']: | ||
2175 | 458 | dict_concepts[x]=[] | ||
2176 | 459 | dict_concepts[x].append({key:y}) | ||
2177 | 460 | else: | ||
2178 | 461 | if dict[key]['apply']: | ||
2179 | 462 | dict_concepts[x].append({key:y}) | ||
2180 | 463 | return dict_concepts | ||
2181 | 464 | |||
2182 | 465 | |||
2183 | 466 | def get_journal(self,cr,uid,inv_brw): | ||
2184 | 467 | ''' | ||
2185 | 468 | Assign the corresponding journal according to each type of withholding (purchase, sale). The journal types are created in retencion_iva | ||
2186 | 469 | ''' | ||
2187 | 470 | tipo='Sale' | ||
2188 | 471 | tipo2='islr_sale' | ||
2189 | 472 | journal_id = None | ||
2190 | 473 | journal_obj = self.pool.get('account.journal') | ||
2191 | 474 | if inv_brw.type == 'out_invoice' or inv_brw.type =='out_refund': | ||
2192 | 475 | journal_id = journal_obj.search(cr, uid, [('type', '=', 'islr_sale')], limit=1) | ||
2193 | 476 | else: | ||
2194 | 477 | journal_id = journal_obj.search(cr, uid, [('type', '=', 'islr_purchase')], limit=1) | ||
2195 | 478 | tipo = 'Purchase' | ||
2196 | 479 | tipo2 = 'islr_purchase' | ||
2197 | 480 | if not journal_id: | ||
2198 | 481 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the journal of withholding income for the '%s' has not been created with the type '%s'") % (tipo,tipo2)) | ||
2199 | 482 | |||
2200 | 483 | return journal_id[0] or None | ||
2201 | 484 | |||
2202 | 485 | def button_confirm(self, cr, uid, ids, context=None): | ||
2203 | 486 | return self.write(cr, uid, ids, {'state': 'confirmed'}) | ||
2204 | 487 | |||
2205 | 488 | def _create_islr_wh_doc(self,cr,uid,inv_brw,dict): | ||
2206 | 489 | ''' | ||
2207 | 490 | To create in the islr_wh_doc model | ||
2208 | 491 | ''' | ||
2209 | 492 | islr_wh_doc_id=0 | ||
2210 | 493 | wh_doc_obj = self.pool.get('islr.wh.doc') | ||
2211 | 494 | inv_obj =self.pool.get('account.invoice.line') | ||
2212 | 495 | inv_brw = inv_brw.invoice_id | ||
2213 | 496 | inv_brw2 = inv_obj.browse(cr,uid,dict.keys()) | ||
2214 | 497 | islr_wh_doc_id = wh_doc_obj.create(cr,uid, | ||
2215 | 498 | {'name': wh_doc_obj.retencion_seq_get(cr, uid), | ||
2216 | 499 | 'partner_id': inv_brw.partner_id.id, | ||
2217 | 500 | 'invoice_id': inv_brw.id, | ||
2218 | 501 | 'period_id': inv_brw.period_id.id, | ||
2219 | 502 | 'account_id': inv_brw.account_id.id, | ||
2220 | 503 | 'type': inv_brw.type, | ||
2221 | 504 | 'journal_id': self.get_journal(cr,uid,inv_brw), | ||
2222 | 505 | 'islr_wh_doc_id': [(6,0,[i.invoice_id.id for i in inv_brw2])] | ||
2223 | 506 | }) | ||
2224 | 507 | |||
2225 | 508 | wf_service = netsvc.LocalService("workflow") | ||
2226 | 509 | wf_service.trg_validate(uid, 'islr.wh.doc', islr_wh_doc_id, 'button_confirm', cr) | ||
2227 | 510 | # wf_service.trg_write(uid, 'islr.wh.doc', islr_wh_doc_id, cr) | ||
2228 | 511 | return islr_wh_doc_id | ||
2229 | 512 | |||
2230 | 513 | |||
2231 | 514 | def _create_doc_line(self,cr,uid, inv_brw,key2,islr_wh_doc_id,dictt,dictc): | ||
2232 | 515 | ''' | ||
2233 | 516 | To create in the islr_wh_doc_line model | ||
2234 | 517 | ''' | ||
2235 | 518 | doc_line_obj = self.pool.get('islr.wh.doc.line') | ||
2236 | 519 | rate_obj = self.pool.get('islr.rates') | ||
2237 | 520 | dict_concept = self._get_amount(cr,uid,dictt) | ||
2238 | 521 | inv_line_id = dictc[key2][0].keys()[0] | ||
2239 | 522 | rate_id = dictc[key2][0][inv_line_id]['rate_id'] | ||
2240 | 523 | |||
2241 | 524 | islr_wh_doc_line_id = doc_line_obj.create(cr,uid, | ||
2242 | 525 | {'islr_wh_doc_id':islr_wh_doc_id, | ||
2243 | 526 | 'concept_id':key2, | ||
2244 | 527 | 'islr_rates_id':rate_id, | ||
2245 | 528 | 'invoice_id': inv_brw.invoice_id.id, | ||
2246 | 529 | 'retencion_islr': rate_obj.browse(cr,uid,rate_id).wh_perc, | ||
2247 | 530 | 'amount':dict_concept[key2],}) | ||
2248 | 531 | |||
2249 | 532 | return islr_wh_doc_line_id | ||
2250 | 533 | |||
2251 | 534 | def _create_doc_invoices(self,cr,uid,key,islr_wh_doc_id): | ||
2252 | 535 | ''' | ||
2253 | 536 | To create in the islr_wh_doc_invoices model | ||
2254 | 537 | ''' | ||
2255 | 538 | doc_inv_obj = self.pool.get('islr.wh.doc.invoices') | ||
2256 | 539 | inv_id = key | ||
2257 | 540 | islr_wh_doc_invoices_id = doc_inv_obj.create(cr,uid,{'invoice_id':inv_id,'islr_wh_doc_id':islr_wh_doc_id}) | ||
2258 | 541 | |||
2259 | 542 | |||
2260 | 543 | def _write_wh_xml(self,cr,uid,key,islr_wh_doc_line_id): | ||
2261 | 544 | ''' | ||
2262 | 545 | Write in the xml_wh_line model | ||
2263 | 546 | ''' | ||
2264 | 547 | inv_obj =self.pool.get('account.invoice.line') | ||
2265 | 548 | xml_obj = self.pool.get('islr.xml.wh.line') | ||
2266 | 549 | xml_id = inv_obj.browse(cr,uid,key).wh_xml_id.id | ||
2267 | 550 | xml_obj.write(cr, uid, xml_id, {'islr_wh_doc_line_id':islr_wh_doc_line_id}) | ||
2268 | 551 | |||
2269 | 552 | |||
2270 | 553 | def _get_inv_id(self,cr,uid,dict): | ||
2271 | 554 | ''' | ||
2272 | 555 | Get the invoice obj_browse | ||
2273 | 556 | ''' | ||
2274 | 557 | inv_obj =self.pool.get('account.invoice.line') | ||
2275 | 558 | line_ids = [key for key in dict if dict[key]['apply']] | ||
2276 | 559 | line_ids.sort() | ||
2277 | 560 | return line_ids and inv_obj.browse(cr,uid,line_ids[-1]) or False | ||
2278 | 561 | |||
2279 | 562 | |||
2280 | 563 | def _logic_create(self,cr,uid,dict,wh_doc_id): | ||
2281 | 564 | ''' | ||
2282 | 565 | Handling of all the logic for generating lines on models. | ||
2283 | 566 | ''' | ||
2284 | 567 | dictc = self._get_dict_concepts(cr,uid,dict) | ||
2285 | 568 | inv_brw = self._get_inv_id(cr,uid,dict) | ||
2286 | 569 | inv_obj =self.pool.get('account.invoice.line') | ||
2287 | 570 | islr_wh_doc_id=None | ||
2288 | 571 | |||
2289 | 572 | if inv_brw: | ||
2290 | 573 | if dictc and not wh_doc_id: | ||
2291 | 574 | islr_wh_doc_id = self._create_islr_wh_doc(cr,uid,inv_brw,dict) | ||
2292 | 575 | else: | ||
2293 | 576 | islr_wh_doc_id = wh_doc_id | ||
2294 | 577 | key_lst = [] | ||
2295 | 578 | if islr_wh_doc_id: | ||
2296 | 579 | for key2 in dictc: | ||
2297 | 580 | inv_line_id = dictc[key2][0].keys()[0] | ||
2298 | 581 | islr_wh_doc_line_id = self._create_doc_line(cr,uid,inv_brw,key2,islr_wh_doc_id,dict,dictc) | ||
2299 | 582 | for line in dictc[key2]: | ||
2300 | 583 | inv_line_id2 = dictc[key2][0].keys()[0] | ||
2301 | 584 | for key in line: | ||
2302 | 585 | key_lst.append(inv_obj.browse(cr,uid,key).invoice_id.id) | ||
2303 | 586 | if not wh_doc_id: | ||
2304 | 587 | self._write_wh_xml(cr,uid,key,islr_wh_doc_line_id) | ||
2305 | 588 | for key in set(key_lst): | ||
2306 | 589 | self._create_doc_invoices(cr,uid,key,islr_wh_doc_id) | ||
2307 | 590 | |||
2308 | 591 | self.pool.get('account.invoice').write(cr,uid,inv_brw.invoice_id.id,{'islr_wh_doc_id':islr_wh_doc_id}) | ||
2309 | 592 | |||
2310 | 593 | message = _("Withholding income voucher '%s' generated.") % self.pool.get('islr.wh.doc').browse(cr,uid,islr_wh_doc_id).name | ||
2311 | 594 | self.log(cr, uid, islr_wh_doc_id, message) | ||
2312 | 595 | else: | ||
2313 | 596 | pass | ||
2314 | 597 | else: | ||
2315 | 598 | pass | ||
2316 | 599 | return islr_wh_doc_id | ||
2317 | 600 | |||
2318 | 601 | def action_ret_islr(self, cr, uid, ids, context={}): | ||
2319 | 602 | return self.pool.get('islr.wh.doc').action_ret_islr(cr,uid,ids,context) | ||
2320 | 603 | |||
2321 | 604 | def _check_wh_islr(self, cr, uid, ids, context=None): | ||
2322 | 605 | if context is None: | ||
2323 | 606 | context={} | ||
2324 | 607 | |||
2325 | 608 | wh_apply=[] | ||
2326 | 609 | # The two function being called below should undergo overhauling | ||
2327 | 610 | # right now it takes an object as and argument instead of an integer | ||
2328 | 611 | invoice = self.browse(cr, uid, ids[0], context=context) | ||
2329 | 612 | vendor, buyer, wh = self._get_partners(cr, uid, invoice) | ||
2330 | 613 | concept_list = self._get_concepts(cr, uid, invoice) | ||
2331 | 614 | wh_apply.append(wh) | ||
2332 | 615 | wh_apply.append(concept_list) | ||
2333 | 616 | |||
2334 | 617 | return invoice, vendor, buyer, concept_list, all(wh_apply) | ||
2335 | 618 | |||
2336 | 619 | def _check_do_wh(self, cr, uid, ids, invoice, vendor, buyer, concept_list, context=None): | ||
2337 | 620 | if context is None: | ||
2338 | 621 | context={} | ||
2339 | 622 | wh_dict = self._get_service_wh(cr, uid, invoice, concept_list) | ||
2340 | 623 | residence = self._get_residence(cr, uid, vendor, buyer) | ||
2341 | 624 | nature = self._get_nature(cr, uid, vendor) | ||
2342 | 625 | dict_rate = self._get_rate_dict(cr, uid, concept_list, residence, nature,context=context) | ||
2343 | 626 | self._pop_dict(cr,uid,concept_list,dict_rate,wh_dict) | ||
2344 | 627 | dict_completo = self._get_wh_apply(cr,uid,dict_rate,wh_dict,nature,context=context) | ||
2345 | 628 | inv_brw = self._get_inv_id(cr,uid,dict_completo) | ||
2346 | 629 | |||
2347 | 630 | return bool(inv_brw) | ||
2348 | 631 | |||
2349 | 632 | def check_wh_islr_apply(self, cr, uid, ids, context=None): | ||
2350 | 633 | ''' | ||
2351 | 634 | This Method test if given certain conditions it is | ||
2352 | 635 | possible to create a new withholding document | ||
2353 | 636 | ''' | ||
2354 | 637 | #TODO: Este metodo deberia devolver true ya que es un metodo "check" | ||
2355 | 638 | if context is None: | ||
2356 | 639 | context={} | ||
2357 | 640 | |||
2358 | 641 | invoice, vendor, buyer, concept_list, wh_apply = self._check_wh_islr(cr, uid, ids, context=context) | ||
2359 | 642 | |||
2360 | 643 | do_wh = False | ||
2361 | 644 | if wh_apply: | ||
2362 | 645 | context.update({'test_from_wkf':True}) | ||
2363 | 646 | do_wh = self._check_do_wh(cr, uid, ids, invoice, vendor, buyer, concept_list, context=context) | ||
2364 | 647 | |||
2365 | 648 | return all([wh_apply,do_wh]) | ||
2366 | 649 | |||
2367 | 650 | def check_wh_islr_xml(self, cr, uid, ids, context=None): | ||
2368 | 651 | ''' | ||
2369 | 652 | This Method test if given certain conditions it is | ||
2370 | 653 | __not__ possible to create a new withholding document | ||
2371 | 654 | but the xml elements needed to create a legal report | ||
2372 | 655 | ''' | ||
2373 | 656 | if context is None: | ||
2374 | 657 | context={} | ||
2375 | 658 | |||
2376 | 659 | invoice, vendor, buyer, concept_list, wh_apply = self._check_wh_islr(cr, uid, ids, context=context) | ||
2377 | 660 | |||
2378 | 661 | do_wh = True | ||
2379 | 662 | if wh_apply: | ||
2380 | 663 | context.update({'test_from_wkf':True}) | ||
2381 | 664 | do_wh = self._check_do_wh(cr, uid, ids, invoice, vendor, buyer, concept_list, context=context) | ||
2382 | 665 | |||
2383 | 666 | return all([wh_apply,not do_wh]) | ||
2384 | 667 | |||
2385 | 668 | def action_islr_xml(self, cr, uid, ids, context=None): | ||
2386 | 669 | ''' | ||
2387 | 670 | This Method creates the xml elements needed to provide a legal report | ||
2388 | 671 | ''' | ||
2389 | 672 | if context is None: | ||
2390 | 673 | context={} | ||
2391 | 674 | |||
2392 | 675 | invoice, vendor, buyer, concept_list, wh_apply = self._check_wh_islr(cr, uid, ids, context=context) | ||
2393 | 676 | |||
2394 | 677 | if wh_apply: | ||
2395 | 678 | self._check_do_wh(cr, uid, ids, invoice, vendor, buyer, concept_list, context=context) | ||
2396 | 679 | |||
2397 | 680 | return True | ||
2398 | 681 | |||
2399 | 682 | def check_invoice_type(self, cr, uid, ids, context=None): | ||
2400 | 683 | ''' | ||
2401 | 684 | This method test the invoice types to create a new withholding document | ||
2402 | 685 | ''' | ||
2403 | 686 | #TODO: change on workflow | ||
2404 | 687 | if context is None: | ||
2405 | 688 | context={} | ||
2406 | 689 | obj = self.browse(cr, uid, ids[0],context=context) | ||
2407 | 690 | if obj.type in ('in_invoice', 'in_refund'): | ||
2408 | 691 | return True | ||
2409 | 692 | return False | ||
2410 | 693 | |||
2411 | 694 | def validate_wh_income_done(self, cr, uid, ids, context=None): | 198 | def validate_wh_income_done(self, cr, uid, ids, context=None): |
2412 | 695 | """ | 199 | """ |
2413 | 696 | Method that check if wh income is validated in invoice refund. | 200 | Method that check if wh income is validated in invoice refund. |
2414 | @@ -710,12 +214,3 @@ | |||
2415 | 710 | return True | 214 | return True |
2416 | 711 | 215 | ||
2417 | 712 | account_invoice() | 216 | account_invoice() |
2418 | 713 | |||
2419 | 714 | |||
2420 | 715 | |||
2421 | 716 | |||
2422 | 717 | |||
2423 | 718 | |||
2424 | 719 | |||
2425 | 720 | |||
2426 | 721 | |||
2427 | 722 | 217 | ||
2428 | === modified file 'l10n_ve_withholding_islr/model/islr_wh_concept.py' | |||
2429 | --- l10n_ve_withholding_islr/model/islr_wh_concept.py 2012-12-09 23:55:45 +0000 | |||
2430 | +++ l10n_ve_withholding_islr/model/islr_wh_concept.py 2013-01-14 19:15:27 +0000 | |||
2431 | @@ -38,7 +38,7 @@ | |||
2432 | 38 | Model to create the withholding concepts | 38 | Model to create the withholding concepts |
2433 | 39 | ''' | 39 | ''' |
2434 | 40 | _name='islr.wh.concept' | 40 | _name='islr.wh.concept' |
2436 | 41 | _description = 'Withholding Income Concept' | 41 | _description = 'Income Withholding Concept' |
2437 | 42 | 42 | ||
2438 | 43 | _columns={ | 43 | _columns={ |
2439 | 44 | 'name':fields.char('Withholding Concept', translate=True,size=256,required=True,help="Name of Withholding Concept, Example: Honorarios Profesionales, Comisiones a..."), | 44 | 'name':fields.char('Withholding Concept', translate=True,size=256,required=True,help="Name of Withholding Concept, Example: Honorarios Profesionales, Comisiones a..."), |
2440 | 45 | 45 | ||
2441 | === modified file 'l10n_ve_withholding_islr/model/islr_wh_doc.py' | |||
2442 | --- l10n_ve_withholding_islr/model/islr_wh_doc.py 2012-12-09 23:55:45 +0000 | |||
2443 | +++ l10n_ve_withholding_islr/model/islr_wh_doc.py 2013-01-14 19:15:27 +0000 | |||
2444 | @@ -41,13 +41,14 @@ | |||
2445 | 41 | type = context.get('type', 'in_invoice') | 41 | type = context.get('type', 'in_invoice') |
2446 | 42 | return type | 42 | return type |
2447 | 43 | 43 | ||
2449 | 44 | def _get_journal(self, cr, uid, context): | 44 | def _get_journal(self, cr, uid, context=None): |
2450 | 45 | if context is None: | 45 | if context is None: |
2451 | 46 | context = {} | 46 | context = {} |
2452 | 47 | type_inv = context.get('type') | ||
2453 | 48 | type2journal = {'out_invoice': 'retislrSale', 'in_invoice': 'retislrPurchase', 'out_refund': 'retislrSale', 'in_refund': 'retislrPurchase'} | ||
2454 | 49 | journal_obj = self.pool.get('account.journal') | 47 | journal_obj = self.pool.get('account.journal') |
2456 | 50 | res = journal_obj.search(cr, uid, [('type', '=', type2journal.get(type_inv, 'retislrPurchase'))], limit=1) | 48 | if context.get('type') in ('out_invoice', 'out_refund'): |
2457 | 49 | res = journal_obj.search(cr, uid, [('type', '=', 'islr_sale')], limit=1) | ||
2458 | 50 | else: | ||
2459 | 51 | res = journal_obj.search(cr, uid, [('type', '=', 'islr_purchase')], limit=1) | ||
2460 | 51 | if res: | 52 | if res: |
2461 | 52 | return res[0] | 53 | return res[0] |
2462 | 53 | else: | 54 | else: |
2463 | @@ -68,18 +69,6 @@ | |||
2464 | 68 | res[rete.id] += line.amount | 69 | res[rete.id] += line.amount |
2465 | 69 | return res | 70 | return res |
2466 | 70 | 71 | ||
2467 | 71 | def _get_period(self,cr,uid,ids,name,args,context={}): | ||
2468 | 72 | res = {} | ||
2469 | 73 | wh_doc_brw = self.browse(cr,uid,ids, context=None) | ||
2470 | 74 | for doc in wh_doc_brw: | ||
2471 | 75 | res[doc.id] = False | ||
2472 | 76 | if doc.date_ret: | ||
2473 | 77 | period_ids = self.pool.get('account.period').search(cr,uid,[('date_start','<=',doc.date_ret or time.strftime('%Y-%m-%d')),('date_stop','>=',doc.date_ret or time.strftime('%Y-%m-%d'))]) | ||
2474 | 78 | if len(period_ids): | ||
2475 | 79 | period_id = period_ids[0] | ||
2476 | 80 | res[doc.id] = period_id | ||
2477 | 81 | return res | ||
2478 | 82 | |||
2479 | 83 | def filter_lines_invoice(self,cr,uid,partner_id,context): | 72 | def filter_lines_invoice(self,cr,uid,partner_id,context): |
2480 | 84 | inv_obj = self.pool.get('account.invoice') | 73 | inv_obj = self.pool.get('account.invoice') |
2481 | 85 | invoice_obj = self.pool.get('islr.wh.doc.invoices') | 74 | invoice_obj = self.pool.get('islr.wh.doc.invoices') |
2482 | @@ -95,7 +84,7 @@ | |||
2483 | 95 | return inv_ids | 84 | return inv_ids |
2484 | 96 | 85 | ||
2485 | 97 | _name = "islr.wh.doc" | 86 | _name = "islr.wh.doc" |
2487 | 98 | _description = 'Document Withholding Income' | 87 | _description = 'Document Income Withholding' |
2488 | 99 | _columns= { | 88 | _columns= { |
2489 | 100 | 'name': fields.char('Description', size=64,readonly=True, states={'draft':[('readonly',False)]}, required=True, help="Voucher description"), | 89 | 'name': fields.char('Description', size=64,readonly=True, states={'draft':[('readonly',False)]}, required=True, help="Voucher description"), |
2490 | 101 | 'code': fields.char('Code', size=32, readonly=True, states={'draft':[('readonly',False)]}, help="Voucher reference"), | 90 | 'code': fields.char('Code', size=32, readonly=True, states={'draft':[('readonly',False)]}, help="Voucher reference"), |
2491 | @@ -116,14 +105,14 @@ | |||
2492 | 116 | ],'State', readonly=True, help="Voucher state"), | 105 | ],'State', readonly=True, help="Voucher state"), |
2493 | 117 | 'date_ret': fields.date('Accounting Date', help="Keep empty to use the current date"), | 106 | 'date_ret': fields.date('Accounting Date', help="Keep empty to use the current date"), |
2494 | 118 | 'date_uid': fields.date('Withhold Date', readonly=True, states={'draft':[('readonly',False)]}, help="Voucher date"), | 107 | 'date_uid': fields.date('Withhold Date', readonly=True, states={'draft':[('readonly',False)]}, help="Voucher date"), |
2496 | 119 | 'period_id': fields.function(_get_period, method=True, required=False, type='many2one',relation='account.period', string='Period', help="Period when the accounts entries were done"), | 108 | 'period_id': fields.many2one('account.period', 'Period', help="Period when the accounts entries were done"), |
2497 | 120 | 'account_id': fields.many2one('account.account', 'Account', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Account Receivable or Account Payable of partner"), | 109 | 'account_id': fields.many2one('account.account', 'Account', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Account Receivable or Account Payable of partner"), |
2498 | 121 | 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True, required=True, states={'draft':[('readonly',False)]}, help="Partner object of withholding"), | 110 | 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True, required=True, states={'draft':[('readonly',False)]}, help="Partner object of withholding"), |
2499 | 122 | 'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Currency in which the transaction takes place"), | 111 | 'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Currency in which the transaction takes place"), |
2500 | 123 | 'journal_id': fields.many2one('account.journal', 'Journal', required=True,readonly=True, states={'draft':[('readonly',False)]}, help="Journal where accounting entries are recorded"), | 112 | 'journal_id': fields.many2one('account.journal', 'Journal', required=True,readonly=True, states={'draft':[('readonly',False)]}, help="Journal where accounting entries are recorded"), |
2501 | 124 | 'company_id': fields.many2one('res.company', 'Company', required=True, help="Company"), | 113 | 'company_id': fields.many2one('res.company', 'Company', required=True, help="Company"), |
2502 | 125 | 'amount_total_ret':fields.function(_get_amount_total,method=True, string='Amount Total', type='float', digits_compute= dp.get_precision('Withhold ISLR'), help="Total Withheld amount"), | 114 | 'amount_total_ret':fields.function(_get_amount_total,method=True, string='Amount Total', type='float', digits_compute= dp.get_precision('Withhold ISLR'), help="Total Withheld amount"), |
2504 | 126 | 'concept_ids': fields.one2many('islr.wh.doc.line','islr_wh_doc_id','Withholding Income Concept', readonly=True, states={'draft':[('readonly',False)]}), | 115 | 'concept_ids': fields.one2many('islr.wh.doc.line','islr_wh_doc_id','Income Withholding Concept', readonly=True, states={'draft':[('readonly',False)]}), |
2505 | 127 | 'invoice_ids':fields.one2many('islr.wh.doc.invoices','islr_wh_doc_id','Withheld Invoices'), | 116 | 'invoice_ids':fields.one2many('islr.wh.doc.invoices','islr_wh_doc_id','Withheld Invoices'), |
2506 | 128 | 'invoice_id':fields.many2one('account.invoice','Invoice',readonly=False,help="Invoice to make the accounting entry"), | 117 | 'invoice_id':fields.many2one('account.invoice','Invoice',readonly=False,help="Invoice to make the accounting entry"), |
2507 | 129 | 'islr_wh_doc_id': fields.one2many('account.invoice','islr_wh_doc_id','Invoices',states={'draft':[('readonly',False)]}), | 118 | 'islr_wh_doc_id': fields.one2many('account.invoice','islr_wh_doc_id','Invoices',states={'draft':[('readonly',False)]}), |
2508 | @@ -142,22 +131,39 @@ | |||
2509 | 142 | 'user_id': lambda s, cr, u, c: u, | 131 | 'user_id': lambda s, cr, u, c: u, |
2510 | 143 | } | 132 | } |
2511 | 144 | 133 | ||
2512 | 134 | def check_income_wh(self, cr, uid, ids, context=None): | ||
2513 | 135 | context = context or {} | ||
2514 | 136 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
2515 | 137 | obj = self.browse(cr, uid, ids[0],context=context) | ||
2516 | 138 | res = {} | ||
2517 | 139 | for wh_line in obj.invoice_ids: | ||
2518 | 140 | if not wh_line.islr_xml_id: | ||
2519 | 141 | res[wh_line.id] = (wh_line.invoice_id.name, | ||
2520 | 142 | wh_line.invoice_id.number, wh_line.invoice_id.reference) | ||
2521 | 143 | if res: | ||
2522 | 144 | note = _('The Following Invoices Have not yet been withheld:\n\n') | ||
2523 | 145 | for i in res: | ||
2524 | 146 | note += '* %s, %s, %s\n'%res[i] | ||
2525 | 147 | note += _('\nPlease, Load the Taxes to be withheld and Try Again') | ||
2526 | 148 | raise osv.except_osv(_('Invoices with Missing Withheld Taxes!'),note) | ||
2527 | 149 | return True | ||
2528 | 150 | |||
2529 | 151 | def compute_amount_wh(self, cr, uid, ids, context=None): | ||
2530 | 152 | context = context or {} | ||
2531 | 153 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
2532 | 154 | iwdi_obj = self.pool.get('islr.wh.doc.invoices') | ||
2533 | 155 | iwd_brw = self.browse(cr, uid, ids[0], context=context) | ||
2534 | 156 | for iwdi_brw in iwd_brw.invoice_ids: | ||
2535 | 157 | iwdi_obj.load_taxes(cr, uid, iwdi_brw.id, context=context) | ||
2536 | 158 | return True | ||
2537 | 145 | def validate(self, cr,uid,ids,*args): | 159 | def validate(self, cr,uid,ids,*args): |
2538 | 146 | 160 | ||
2539 | 147 | if args[0]in ['in_invoice','in_refund'] and args[1] and args[2]: | 161 | if args[0]in ['in_invoice','in_refund'] and args[1] and args[2]: |
2540 | 148 | return True | 162 | return True |
2541 | 149 | 163 | ||
2553 | 150 | def action_process(self,cr,uid,ids, *args): | 164 | def action_process(self,cr,uid,ids, context=None): |
2554 | 151 | inv_obj=self.pool.get('account.invoice') | 165 | # TODO: ERASE THE REGARDING NODE IN THE WORKFLOW |
2555 | 152 | context = {} | 166 | # METHOD HAVE BEEN LEFT FOR BACKWARD COMPATIBILITY |
2545 | 153 | wh_doc_brw = self.browse(cr, uid, ids, context=None) | ||
2546 | 154 | inv_ids = [] | ||
2547 | 155 | |||
2548 | 156 | for wh_doc in wh_doc_brw: | ||
2549 | 157 | for wh_doc_line in wh_doc.islr_wh_doc_id: | ||
2550 | 158 | inv_ids.append(wh_doc_line.id) | ||
2551 | 159 | context["wh_doc_id"]=ids[0] | ||
2552 | 160 | inv_obj.action_ret_islr(cr, uid, inv_ids,context) | ||
2556 | 161 | return True | 167 | return True |
2557 | 162 | 168 | ||
2558 | 163 | def action_cancel_process(self,cr,uid,ids,context=None): | 169 | def action_cancel_process(self,cr,uid,ids,context=None): |
2559 | @@ -226,9 +232,10 @@ | |||
2560 | 226 | vals['code'] = code | 232 | vals['code'] = code |
2561 | 227 | return super(islr_wh_doc, self).create(cr, uid, vals, context) | 233 | return super(islr_wh_doc, self).create(cr, uid, vals, context) |
2562 | 228 | 234 | ||
2566 | 229 | def action_confirm1(self, cr, uid, ids, context={}): | 235 | def action_confirm(self, cr, uid, ids, context=None): |
2567 | 230 | return self.write(cr, uid, ids, {'state':'confirmed'}) | 236 | context = context or {} |
2568 | 231 | 237 | ids = isinstance(ids, (int, long)) and [ids] or ids | |
2569 | 238 | return self.write(cr, uid, ids[0], {'state':'confirmed'}) | ||
2570 | 232 | 239 | ||
2571 | 233 | def action_number(self, cr, uid, ids, *args): | 240 | def action_number(self, cr, uid, ids, *args): |
2572 | 234 | obj_ret = self.browse(cr, uid, ids)[0] | 241 | obj_ret = self.browse(cr, uid, ids)[0] |
2573 | @@ -243,21 +250,12 @@ | |||
2574 | 243 | 'WHERE id=%s', (number, id)) | 250 | 'WHERE id=%s', (number, id)) |
2575 | 244 | return True | 251 | return True |
2576 | 245 | 252 | ||
2577 | 246 | def action_done1(self, cr, uid, ids, context={}): | ||
2578 | 247 | self.action_number(cr, uid, ids) | ||
2579 | 248 | self.action_move_create(cr, uid, ids) | ||
2580 | 249 | self.write(cr, uid, ids, {'state':'done'}) | ||
2581 | 250 | return True | ||
2582 | 251 | |||
2583 | 252 | def action_cancel(self,cr,uid,ids,context={}): | 253 | def action_cancel(self,cr,uid,ids,context={}): |
2584 | 253 | #~ if self.browse(cr,uid,ids)[0].type=='in_invoice': | 254 | #~ if self.browse(cr,uid,ids)[0].type=='in_invoice': |
2585 | 254 | #~ return True | 255 | #~ return True |
2586 | 255 | self.cancel_move(cr,uid,ids) | 256 | self.cancel_move(cr,uid,ids) |
2587 | 256 | self.action_cancel_process(cr,uid,ids,context=context) | 257 | self.action_cancel_process(cr,uid,ids,context=context) |
2588 | 257 | return True | 258 | return True |
2589 | 258 | |||
2590 | 259 | |||
2591 | 260 | |||
2592 | 261 | 259 | ||
2593 | 262 | def cancel_move (self,cr,uid,ids, *args): | 260 | def cancel_move (self,cr,uid,ids, *args): |
2594 | 263 | context={} | 261 | context={} |
2595 | @@ -279,72 +277,69 @@ | |||
2596 | 279 | self.write(cr, uid, ids, {'state':'draft'}) | 277 | self.write(cr, uid, ids, {'state':'draft'}) |
2597 | 280 | return True | 278 | return True |
2598 | 281 | 279 | ||
2600 | 282 | def action_move_create(self, cr, uid, ids, *args): | 280 | def action_move_create(self, cr, uid, ids, context=None): |
2601 | 283 | wh_doc_obj = self.pool.get('islr.wh.doc.line') | 281 | wh_doc_obj = self.pool.get('islr.wh.doc.line') |
2603 | 284 | context = {} | 282 | context = context or {} |
2604 | 283 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
2605 | 285 | inv_id = None | 284 | inv_id = None |
2606 | 286 | doc_brw = None | 285 | doc_brw = None |
2668 | 287 | 286 | ixwl_obj = self.pool.get('islr.xml.wh.line') | |
2669 | 288 | for ret in self.browse(cr, uid, ids): | 287 | ret = self.browse(cr, uid, ids[0], context=context) |
2670 | 289 | if not ret.date_uid: | 288 | if not ret.date_uid: |
2671 | 290 | self.write(cr, uid, [ret.id], {'date_uid':time.strftime('%Y-%m-%d')}) | 289 | self.write(cr, uid, [ret.id], {'date_uid':time.strftime('%Y-%m-%d')}) |
2672 | 291 | 290 | ||
2673 | 292 | if not ret.date_ret: | 291 | if not ret.date_ret: |
2674 | 293 | self.write(cr, uid, [ret.id], {'date_ret':time.strftime('%Y-%m-%d')}) | 292 | self.write(cr, uid, [ret.id], {'date_ret':time.strftime('%Y-%m-%d')}) |
2675 | 294 | 293 | ||
2676 | 295 | period_id = ret.period_id and ret.period_id.id or False | 294 | period_id = ret.period_id and ret.period_id.id or False |
2677 | 296 | journal_id = ret.journal_id.id | 295 | journal_id = ret.journal_id.id |
2678 | 297 | 296 | ||
2679 | 298 | if not period_id: | 297 | if not period_id: |
2680 | 299 | period_ids = self.pool.get('account.period').search(cr,uid,[('date_start','<=',ret.date_ret or time.strftime('%Y-%m-%d')),('date_stop','>=',ret.date_ret or time.strftime('%Y-%m-%d'))]) | 298 | period_ids = self.pool.get('account.period').search(cr,uid,[('date_start','<=',ret.date_ret or time.strftime('%Y-%m-%d')),('date_stop','>=',ret.date_ret or time.strftime('%Y-%m-%d'))]) |
2681 | 300 | if len(period_ids): | 299 | if len(period_ids): |
2682 | 301 | period_id = period_ids[0] | 300 | period_id = period_ids[0] |
2683 | 302 | else: | 301 | else: |
2684 | 303 | raise osv.except_osv(_('Warning !'), _("Not found a fiscal period to date: '%s' please check!") % (ret.date_ret or time.strftime('%Y-%m-%d'))) | 302 | raise osv.except_osv(_('Warning !'), _("Not found a fiscal period to date: '%s' please check!") % (ret.date_ret or time.strftime('%Y-%m-%d'))) |
2685 | 304 | 303 | ||
2686 | 305 | if ret.concept_ids: | 304 | for line in ret.concept_ids: |
2687 | 306 | for line in ret.concept_ids: | 305 | if ret.type in ('in_invoice', 'in_refund'): |
2688 | 307 | if ret.type in ('in_invoice', 'in_refund'): | 306 | if line.concept_id.property_retencion_islr_payable: |
2689 | 308 | if line.concept_id.property_retencion_islr_payable: | 307 | acc_id = line.concept_id.property_retencion_islr_payable.id |
2690 | 309 | acc_id = line.concept_id.property_retencion_islr_payable.id | 308 | inv_id = line.invoice_id.id |
2691 | 310 | inv_id = ret.invoice_id.id | 309 | else: |
2692 | 311 | else: | 310 | raise osv.except_osv(_('Invalid action !'),_("Impossible income withholding, because the account for withholding of sale is not assigned to the Concept withholding '%s'!")% (line.concept_id.name)) |
2693 | 312 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the account for withholding of sale is not assigned to the Concept withholding '%s'!")% (line.concept_id.name)) | 311 | else: |
2694 | 313 | else: | 312 | if line.concept_id.property_retencion_islr_receivable: |
2695 | 314 | if line.concept_id.property_retencion_islr_receivable: | 313 | acc_id = line.concept_id.property_retencion_islr_receivable.id |
2696 | 315 | acc_id = line.concept_id.property_retencion_islr_receivable.id | 314 | inv_id = line.invoice_id.id |
2697 | 316 | inv_id = line.invoice_id.id | 315 | else: |
2698 | 317 | else: | 316 | raise osv.except_osv(_('Invalid action !'),_("Impossible income withholding, because the account for withholding of purchase is not assigned to the Concept withholding '%s'!") % (line.concept_id.name)) |
2699 | 318 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the account for withholding of purchase is not assigned to the Concept withholding '%s'!") % (line.concept_id.name)) | 317 | |
2700 | 319 | 318 | writeoff_account_id = False | |
2701 | 320 | writeoff_account_id = False | 319 | writeoff_journal_id = False |
2702 | 321 | writeoff_journal_id = False | 320 | amount = line.amount |
2703 | 322 | amount = line.amount | 321 | |
2704 | 323 | 322 | ret_move = self.wh_and_reconcile(cr, uid, [ret.id], inv_id, | |
2705 | 324 | ret_move = self.wh_and_reconcile(cr, uid, [ret.id], inv_id, | 323 | amount, acc_id, period_id, journal_id, writeoff_account_id, |
2706 | 325 | amount, acc_id, period_id, journal_id, writeoff_account_id, | 324 | period_id, writeoff_journal_id, context) |
2707 | 326 | period_id, writeoff_journal_id, context) | 325 | |
2708 | 327 | 326 | # make the retencion line point to that move | |
2709 | 328 | # make the retencion line point to that move | 327 | rl = { |
2710 | 329 | rl = { | 328 | 'move_id': ret_move['move_id'], |
2711 | 330 | 'move_id': ret_move['move_id'], | 329 | } |
2712 | 331 | } | 330 | #lines = [(op,id,values)] escribir en un one2many |
2713 | 332 | #lines = [(op,id,values)] escribir en un one2many | 331 | lines = [(1, line.id, rl)] |
2714 | 333 | lines = [(1, line.id, rl)] | 332 | self.write(cr, uid, [ret.id], {'concept_ids':lines}) |
2715 | 334 | self.write(cr, uid, [ret.id], {'concept_ids':lines}) | 333 | |
2716 | 335 | 334 | if lines: | |
2717 | 336 | if lines: | 335 | message = _("Income withholding voucher '%s' validated and accounting entry generated.") % self.browse(cr, uid, ids[0]).name |
2718 | 337 | message = _("Withholding income voucher '%s' validated and accounting entry generated.") % self.browse(cr, uid, ids[0]).name | 336 | self.log(cr, uid, ids[0], message) |
2719 | 338 | self.log(cr, uid, ids[0], message) | 337 | |
2720 | 339 | 338 | xml_ids = [] | |
2721 | 340 | for line in ret.concept_ids: | 339 | for line in ret.concept_ids: |
2722 | 341 | for xml in line.xml_ids: | 340 | xml_ids += [xml.id for xml in line.xml_ids] |
2723 | 342 | if xml.islr_xml_wh_doc.state!='done': | 341 | ixwl_obj.write(cr,uid,xml_ids,{'period_id':period_id},context=context) |
2724 | 343 | if xml.period_id.id != period_id: | 342 | self.write(cr,uid,ids,{'period_id':period_id},context=context) |
2664 | 344 | self.pool.get('islr.xml.wh.line').write(cr,uid,xml.id,{'period_id':period_id, 'islr_xml_wh_doc':None}) | ||
2665 | 345 | else: | ||
2666 | 346 | raise osv.except_osv(_('Invalid action !'),_("Impossible change the period accountig to a withholding that has already been declared.")) | ||
2667 | 347 | # inv_obj.write(cr, uid, line.invoice_id.id, {'retention':True}, context=context) | ||
2725 | 348 | return True | 343 | return True |
2726 | 349 | 344 | ||
2727 | 350 | 345 | ||
2728 | @@ -415,46 +410,13 @@ | |||
2729 | 415 | self.pool.get('account.invoice').write(cr, uid, invoice_id, {}, context=context) | 410 | self.pool.get('account.invoice').write(cr, uid, invoice_id, {}, context=context) |
2730 | 416 | return {'move_id': move_id} | 411 | return {'move_id': move_id} |
2731 | 417 | 412 | ||
2732 | 418 | |||
2733 | 419 | def action_ret_islr(self, cr, uid, ids, context={}): | ||
2734 | 420 | #TODO: : | ||
2735 | 421 | inv_obj = self.pool.get('account.invoice') | ||
2736 | 422 | invoices_brw = inv_obj.browse(cr, uid, ids, context) | ||
2737 | 423 | wh_doc_list = [] | ||
2738 | 424 | for invoice in invoices_brw: | ||
2739 | 425 | wh_doc_list = inv_obj.pool.get('islr.wh.doc.invoices').search(cr,uid,[('invoice_id','=',invoice.id)]) | ||
2740 | 426 | if wh_doc_list: #Chequear que la factura no haya sido retenida. | ||
2741 | 427 | raise osv.except_osv(_('Invalid action !'),_("The Withholding invoice '%s' has already been done!") % (invoice.number)) | ||
2742 | 428 | else: # 1.- Si la factura no ha sido retenida | ||
2743 | 429 | wh_dict={} | ||
2744 | 430 | dict_rate={} | ||
2745 | 431 | dict_completo={} | ||
2746 | 432 | vendor, buyer, apply_wh = inv_obj._get_partners(cr,uid,invoice) # Se obtiene el (vendedor, el comprador, si el comprador es agente de retencion) | ||
2747 | 433 | concept_list = inv_obj._get_concepts(cr,uid,invoice)# Se obtiene la lista de conceptos de las lineas de la factura actual. | ||
2748 | 434 | if concept_list: # 2.- Si existe algun concepto de retencion en las lineas de la factura. | ||
2749 | 435 | if apply_wh: # 3.- Si el comprador es agente de retencion | ||
2750 | 436 | wh_dict = inv_obj._get_service_wh(cr, uid, invoice, concept_list) # Se obtiene un dic con la lista de lineas de factura, si se aplico retencion alguna vez, el monto base total de las lineas. | ||
2751 | 437 | residence = inv_obj._get_residence(cr, uid, vendor, buyer) # Retorna el tipo de residencia del vendedor | ||
2752 | 438 | nature = inv_obj._get_nature(cr, uid, vendor) # Retorna la naturaleza del vendedor. | ||
2753 | 439 | dict_rate = inv_obj._get_rate_dict(cr, uid, concept_list, residence, nature,context) # Retorna las tasas por cada concepto | ||
2754 | 440 | inv_obj._pop_dict(cr,uid,concept_list,dict_rate,wh_dict) # Borra los conceptos y las lineas de factura que no tengan tasa asociada. | ||
2755 | 441 | dict_completo = inv_obj._get_wh_apply(cr,uid,dict_rate,wh_dict,nature) # Retorna el dict con todos los datos de la retencion por linea de factura. | ||
2756 | 442 | islr_wh_doc_id=inv_obj._logic_create(cr,uid,dict_completo,context.get('wh_doc_id',False))# Se escribe y crea en todos los modelos asociados al islr. | ||
2757 | 443 | else: | ||
2758 | 444 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the supplier '%s' withholding agent is not!") % (buyer.name)) | ||
2759 | 445 | else: | ||
2760 | 446 | raise osv.except_osv(_('Invalid action !'),_("Impossible withholding income, because the lines of the invoice has not concept withholding!")) | ||
2761 | 447 | #~ break | ||
2762 | 448 | return islr_wh_doc_id | ||
2763 | 449 | |||
2764 | 450 | |||
2765 | 451 | islr_wh_doc() | 413 | islr_wh_doc() |
2766 | 452 | 414 | ||
2767 | 453 | 415 | ||
2768 | 454 | class account_invoice(osv.osv): | 416 | class account_invoice(osv.osv): |
2769 | 455 | _inherit = 'account.invoice' | 417 | _inherit = 'account.invoice' |
2770 | 456 | _columns = { | 418 | _columns = { |
2772 | 457 | 'islr_wh_doc_id': fields.many2one('islr.wh.doc','Withhold Document',readonly=True,help="Document Withholding Income tax generated from this bill"), | 419 | 'islr_wh_doc_id': fields.many2one('islr.wh.doc','Withhold Document',readonly=True,help="Document Income Withholding tax generated from this bill"), |
2773 | 458 | } | 420 | } |
2774 | 459 | _defaults = { | 421 | _defaults = { |
2775 | 460 | 'islr_wh_doc_id': lambda *a: 0, | 422 | 'islr_wh_doc_id': lambda *a: 0, |
2776 | @@ -474,7 +436,7 @@ | |||
2777 | 474 | class islr_wh_doc_invoices(osv.osv): | 436 | class islr_wh_doc_invoices(osv.osv): |
2778 | 475 | _name = "islr.wh.doc.invoices" | 437 | _name = "islr.wh.doc.invoices" |
2779 | 476 | _description = 'Document and Invoice Withheld Income' | 438 | _description = 'Document and Invoice Withheld Income' |
2781 | 477 | 439 | ||
2782 | 478 | def _amount_all(self, cr, uid, ids, fieldname, args, context=None): | 440 | def _amount_all(self, cr, uid, ids, fieldname, args, context=None): |
2783 | 479 | res = {} | 441 | res = {} |
2784 | 480 | for ret_line in self.browse(cr, uid, ids, context): | 442 | for ret_line in self.browse(cr, uid, ids, context): |
2785 | @@ -491,17 +453,226 @@ | |||
2786 | 491 | _columns= { | 453 | _columns= { |
2787 | 492 | 'islr_wh_doc_id': fields.many2one('islr.wh.doc','Withhold Document', ondelete='cascade', help="Document Retention income tax generated from this bill"), | 454 | 'islr_wh_doc_id': fields.many2one('islr.wh.doc','Withhold Document', ondelete='cascade', help="Document Retention income tax generated from this bill"), |
2788 | 493 | 'invoice_id':fields.many2one('account.invoice','Invoice', help="Withheld invoice"), | 455 | 'invoice_id':fields.many2one('account.invoice','Invoice', help="Withheld invoice"), |
2792 | 494 | 'islr_xml_id':fields.one2many('islr.xml.wh.line','islr_wh_doc_inv_id','Withholding'), | 456 | 'islr_xml_id':fields.one2many('islr.xml.wh.line','islr_wh_doc_inv_id','Withholding Lines'), |
2793 | 495 | 'amount_islr_ret':fields.function(_amount_all, method=True, digits=(16,4), string='Wh. tax amount', multi='all', help="Withholding tax amount"), | 457 | 'amount_islr_ret':fields.function(_amount_all, method=True, digits=(16,4), string='Withheld Amount', multi='all', help="Amount withheld from the base amount"), |
2794 | 496 | 'base_ret': fields.function(_amount_all, method=True, digits=(16,4), string='Wh. amount', multi='all', help="Withholding without tax amount"), | 458 | 'base_ret': fields.function(_amount_all, method=True, digits=(16,4), string='Base Amount', multi='all', help="Amount where a withholding is going to be compute from"), |
2795 | 497 | } | 459 | } |
2796 | 498 | _rec_rame = 'invoice_id' | 460 | _rec_rame = 'invoice_id' |
2797 | 461 | |||
2798 | 462 | def _get_concepts(self, cr, uid, ids, context=None): | ||
2799 | 463 | ''' | ||
2800 | 464 | Gets a list of withholdable concepts (concept_id) from the invoice lines | ||
2801 | 465 | ''' | ||
2802 | 466 | context = context or {} | ||
2803 | 467 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
2804 | 468 | inv_obj = self.pool.get('account.invoice') | ||
2805 | 469 | concept_set = set() | ||
2806 | 470 | inv_brw = inv_obj.browse(cr, uid, ids[0], context=context) | ||
2807 | 471 | for ail in inv_brw.invoice_line: | ||
2808 | 472 | if ail.concept_id and ail.concept_id.withholdable: | ||
2809 | 473 | concept_set.add(ail.concept_id.id) | ||
2810 | 474 | return list(concept_set) | ||
2811 | 475 | |||
2812 | 476 | def _get_wh(self, cr, uid, ids, concept_id, context=None): | ||
2813 | 477 | ''' | ||
2814 | 478 | Returns a dictionary containing all the values ​​of the retention of an invoice line. | ||
2815 | 479 | ''' | ||
2816 | 480 | context= context or {} | ||
2817 | 481 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
2818 | 482 | ixwl_obj= self.pool.get('islr.xml.wh.line') | ||
2819 | 483 | iwdl_obj= self.pool.get('islr.wh.doc.line') | ||
2820 | 484 | iwdl_brw = iwdl_obj.browse(cr, uid, ids[0], context=context) | ||
2821 | 485 | |||
2822 | 486 | vendor, buyer, wh_agent = self._get_partners(cr, uid, iwdl_brw.invoice_id) | ||
2823 | 487 | apply = not vendor.islr_exempt | ||
2824 | 488 | residence = self._get_residence(cr, uid, vendor, buyer) | ||
2825 | 489 | nature = self._get_nature(cr, uid, vendor) | ||
2826 | 490 | |||
2827 | 491 | #rate_base,rate_minimum,rate_wh_perc,rate_subtract,rate_code,rate_id,rate_name | ||
2828 | 492 | rate_tuple = self._get_rate(cr, uid, concept_id, residence, nature, context=context) | ||
2829 | 493 | base = 0 | ||
2830 | 494 | for line in iwdl_brw.xml_ids: | ||
2831 | 495 | base += line.account_invoice_line_id.price_subtotal | ||
2832 | 496 | apply = apply and base >= rate_tuple[0]*rate_tuple[1]/100.0 | ||
2833 | 497 | wh = 0.0 | ||
2834 | 498 | subtract = apply and rate_tuple[3] or 0.0 | ||
2835 | 499 | subtract_write=0.0 | ||
2836 | 500 | wh_concept = 0.0 | ||
2837 | 501 | sb_concept = subtract | ||
2838 | 502 | for line in iwdl_brw.xml_ids: | ||
2839 | 503 | if apply: | ||
2840 | 504 | wh_calc = (rate_tuple[0]/100.0)*rate_tuple[2]*line.account_invoice_line_id.price_subtotal/100.0 | ||
2841 | 505 | if subtract >= wh_calc: | ||
2842 | 506 | wh = 0.0 | ||
2843 | 507 | subtract -= wh_calc | ||
2844 | 508 | else: | ||
2845 | 509 | wh = wh_calc - subtract | ||
2846 | 510 | subtract_write= subtract | ||
2847 | 511 | subtract=0.0 | ||
2848 | 512 | ixwl_obj.write(cr,uid,line.id,{'wh':wh, 'sustract':subtract or subtract_write}, | ||
2849 | 513 | context=context) | ||
2850 | 514 | wh_concept+=wh | ||
2851 | 515 | iwdl_obj.write(cr, uid, ids[0],{'amount':wh_concept, | ||
2852 | 516 | 'subtract':sb_concept, 'base_amount': base},context=context) | ||
2853 | 517 | return True | ||
2854 | 518 | |||
2855 | 519 | |||
2856 | 520 | def load_taxes(self, cr, uid, ids, context=None): | ||
2857 | 521 | context = context or {} | ||
2858 | 522 | ids = isinstance(ids, (int, long)) and [ids] or ids | ||
2859 | 523 | ixwl_obj = self.pool.get('islr.xml.wh.line') | ||
2860 | 524 | iwdl_obj = self.pool.get('islr.wh.doc.line') | ||
2861 | 525 | ret_line = self.browse(cr, uid, ids[0], context=context) | ||
2862 | 526 | lines = [] | ||
2863 | 527 | rates = {} | ||
2864 | 528 | wh_perc= {} | ||
2865 | 529 | xmls = {} | ||
2866 | 530 | if ret_line.invoice_id: | ||
2867 | 531 | #~ Searching & Unlinking for xml lines from the current invoice | ||
2868 | 532 | xml_lines = ixwl_obj.search(cr, uid, [('islr_wh_doc_inv_id', '=', ret_line.id)],context=context) | ||
2869 | 533 | if xml_lines: | ||
2870 | 534 | ixwl_obj.unlink(cr, uid, xml_lines) | ||
2871 | 535 | |||
2872 | 536 | #~ Creating xml lines from the current invoices again | ||
2873 | 537 | ail_brws= [i for i in ret_line.invoice_id.invoice_line if i.concept_id and i.concept_id.withholdable] | ||
2874 | 538 | for i in ail_brws: | ||
2875 | 539 | values = self._get_xml_lines(cr, uid, i, context=context) | ||
2876 | 540 | values.update({'islr_wh_doc_inv_id':ret_line.id,}) | ||
2877 | 541 | #~ Vuelve a crear las lineas | ||
2878 | 542 | xml_id = ixwl_obj.create(cr, uid, values, context=context) | ||
2879 | 543 | #~ Write back the new xml_id into the account_invoice_line | ||
2880 | 544 | i.write({'wh_xml_id':xml_id},context=context) | ||
2881 | 545 | lines.append(xml_id) | ||
2882 | 546 | #~ Keeps a log of the rate & percentage for a concept | ||
2883 | 547 | rates[i.concept_id.id]=values['rate_id'] | ||
2884 | 548 | wh_perc[i.concept_id.id]=values['porcent_rete'] | ||
2885 | 549 | if xmls.get(i.concept_id.id): | ||
2886 | 550 | xmls[i.concept_id.id]+=[xml_id] | ||
2887 | 551 | else: | ||
2888 | 552 | xmls[i.concept_id.id]=[xml_id] | ||
2889 | 553 | |||
2890 | 554 | #~ Searching & Unlinking for concept lines from the current invoice | ||
2891 | 555 | iwdl_ids = iwdl_obj.search(cr, uid, [('invoice_id', '=', ret_line.invoice_id.id)],context=context) | ||
2892 | 556 | if iwdl_ids: | ||
2893 | 557 | iwdl_obj.unlink(cr, uid, iwdl_ids) | ||
2894 | 558 | iwdl_ids=[] | ||
2895 | 559 | #~ Creating concept lines for the current invoice | ||
2896 | 560 | concept_list = self._get_concepts(cr, uid, ret_line.invoice_id.id, context=context) | ||
2897 | 561 | for concept_id in concept_list: | ||
2898 | 562 | iwdl_id=iwdl_obj.create(cr,uid, | ||
2899 | 563 | {'islr_wh_doc_id':ret_line.islr_wh_doc_id.id, | ||
2900 | 564 | 'concept_id':concept_id, | ||
2901 | 565 | 'islr_rates_id':rates[concept_id], | ||
2902 | 566 | 'invoice_id': ret_line.invoice_id.id, | ||
2903 | 567 | 'retencion_islr':wh_perc[concept_id], | ||
2904 | 568 | 'xml_ids': [(6,0,xmls[concept_id])], | ||
2905 | 569 | }, context=context) | ||
2906 | 570 | self._get_wh(cr, uid, iwdl_id, concept_id, context=context) | ||
2907 | 571 | return True | ||
2908 | 572 | |||
2909 | 573 | def _get_partners(self, cr, uid, invoice): | ||
2910 | 574 | ''' | ||
2911 | 575 | Se obtiene: el id del vendedor, el id del comprador de la factura y el campo booleano que determina si el comprador es agente de retencion. | ||
2912 | 576 | ''' | ||
2913 | 577 | if invoice.type == 'in_invoice' or invoice.type == 'in_refund': | ||
2914 | 578 | vendor = invoice.partner_id | ||
2915 | 579 | buyer = invoice.company_id.partner_id | ||
2916 | 580 | ret_code = invoice | ||
2917 | 581 | else: | ||
2918 | 582 | buyer = invoice.partner_id | ||
2919 | 583 | vendor = invoice.company_id.partner_id | ||
2920 | 584 | return (vendor, buyer, buyer.islr_withholding_agent) | ||
2921 | 585 | |||
2922 | 586 | def _get_residence(self, cr, uid, vendor, buyer): | ||
2923 | 587 | ''' | ||
2924 | 588 | Se determina si la direccion fiscal del comprador es la misma que la del vendedor, con el fin de luego obtener la tasa asociada. | ||
2925 | 589 | Retorna True si es una persona domiciliada o residente. Retorna False si es, no Residente o No Domicialiado. | ||
2926 | 590 | ''' | ||
2927 | 591 | vendor_address = self._get_country_fiscal(cr, uid, vendor) | ||
2928 | 592 | buyer_address = self._get_country_fiscal(cr, uid, buyer) | ||
2929 | 593 | if vendor_address and buyer_address: | ||
2930 | 594 | if vendor_address == buyer_address: | ||
2931 | 595 | return True | ||
2932 | 596 | else: | ||
2933 | 597 | return False | ||
2934 | 598 | return False | ||
2935 | 599 | |||
2936 | 600 | def _get_nature(self, cr, uid, partner_id): | ||
2937 | 601 | ''' | ||
2938 | 602 | Se obtiene la naturaleza del vendedor a partir del RIF, retorna True si es persona de tipo natural, y False si es juridica. | ||
2939 | 603 | ''' | ||
2940 | 604 | if not partner_id.vat: | ||
2941 | 605 | raise osv.except_osv(_('Invalid action !'),_("Impossible income withholding, because the partner '%s' has not vat associated!") % (partner_id.name)) | ||
2942 | 606 | return False | ||
2943 | 607 | else: | ||
2944 | 608 | if partner_id.vat[2:3] in 'VvEe' or partner_id.spn: | ||
2945 | 609 | return True | ||
2946 | 610 | else: | ||
2947 | 611 | return False | ||
2948 | 612 | |||
2949 | 613 | def _get_rate(self, cr, uid, concept_id, residence, nature,context): | ||
2950 | 614 | ''' | ||
2951 | 615 | Se obtiene la tasa del concepto de retencion, siempre y cuando exista uno asociado a las especificaciones: | ||
2952 | 616 | La naturaleza del vendedor coincida con una tasa. | ||
2953 | 617 | La residencia del vendedor coindica con una tasa. | ||
2954 | 618 | ''' | ||
2955 | 619 | ut_obj = self.pool.get('l10n.ut') | ||
2956 | 620 | rate_brw_lst = self.pool.get('islr.wh.concept').browse(cr, uid, concept_id).rate_ids | ||
2957 | 621 | for rate_brw in rate_brw_lst: | ||
2958 | 622 | if rate_brw.nature == nature and rate_brw.residence == residence: | ||
2959 | 623 | #~ (base,min,porc,sust,codigo,id_rate,name_rate) | ||
2960 | 624 | rate_brw_minimum = ut_obj.compute_ut_to_money(cr, uid, rate_brw.minimum, False, context)#metodo que transforma los UVT en pesos | ||
2961 | 625 | rate_brw_subtract = ut_obj.compute_ut_to_money(cr, uid, rate_brw.subtract, False, context)#metodo que transforma los UVT en pesos | ||
2962 | 626 | return (rate_brw.base, rate_brw_minimum, rate_brw.wh_perc, rate_brw_subtract,rate_brw.code,rate_brw.id,rate_brw.name) | ||
2963 | 627 | return () | ||
2964 | 628 | |||
2965 | 629 | def _get_country_fiscal(self,cr, uid, partner_id,context=None): | ||
2966 | 630 | ''' | ||
2967 | 631 | Get the country of the partner | ||
2968 | 632 | ''' | ||
2969 | 633 | #TODO: THIS METHOD SHOULD BE IMPROVED | ||
2970 | 634 | #DUE TO OPENER HAS CHANGED THE WAY PARTNER | ||
2971 | 635 | #ARE USED FOR ACCOUNT_MOVE | ||
2972 | 636 | context = context or {} | ||
2973 | 637 | if not partner_id.country_id: | ||
2974 | 638 | raise osv.except_osv(_('Invalid action !'),_("Impossible income withholding, because the partner '%s' country has not been defined in the address!") % (partner_id.name)) | ||
2975 | 639 | else: | ||
2976 | 640 | return partner_id.country_id.id | ||
2977 | 641 | |||
2978 | 642 | def _get_xml_lines(self, cr, uid, ail_brw, context=None): | ||
2979 | 643 | context = context or {} | ||
2980 | 644 | vendor, buyer, wh_agent = self._get_partners(cr, uid, ail_brw.invoice_id) | ||
2981 | 645 | residence = self._get_residence(cr, uid, vendor, buyer) | ||
2982 | 646 | nature = self._get_nature(cr, uid, vendor) | ||
2983 | 647 | rate_base,rate_minimum,rate_wh_perc,rate_subtract,rate_code,rate_id,rate_name = self._get_rate(cr, uid, ail_brw.concept_id.id, residence, nature,context=context) | ||
2984 | 648 | |||
2985 | 649 | wh = ((rate_base * ail_brw.price_subtotal /100) * rate_wh_perc)/100.0 | ||
2986 | 650 | |||
2987 | 651 | return { | ||
2988 | 652 | 'account_invoice_id':ail_brw.invoice_id.id, | ||
2989 | 653 | 'islr_wh_doc_line_id':False, | ||
2990 | 654 | 'islr_xml_wh_doc':False, | ||
2991 | 655 | 'wh':wh, # Debo buscarlo | ||
2992 | 656 | 'base':ail_brw.price_subtotal, # La consigo tambien pero desde el rate | ||
2993 | 657 | 'period_id':False, # Debemos revisar la definicion porque esta en NOT NULL | ||
2994 | 658 | 'invoice_number':ail_brw.invoice_id.reference, | ||
2995 | 659 | 'rate_id':rate_id, # La consigo tambien pero desde el rate | ||
2996 | 660 | 'partner_id':ail_brw.invoice_id.partner_id.id, #Warning Depende de si es cliente o proveedor | ||
2997 | 661 | 'concept_id':ail_brw.concept_id.id, | ||
2998 | 662 | 'partner_vat':vendor.vat[2:12], #Warning Depende si es cliente o proveedor | ||
2999 | 663 | 'porcent_rete':rate_wh_perc, # La consigo tambien pero desde el rate | ||
3000 | 664 | 'control_number':ail_brw.invoice_id.nro_ctrl, | ||
3001 | 665 | 'sustract':rate_subtract,# La consigo tambien pero desde el rate | ||
3002 | 666 | 'account_invoice_line_id':ail_brw.id, | ||
3003 | 667 | 'concept_code':rate_code,# La consigo tambien pero desde el rate | ||
3004 | 668 | } | ||
3005 | 669 | |||
3006 | 499 | islr_wh_doc_invoices() | 670 | islr_wh_doc_invoices() |
3007 | 500 | 671 | ||
3008 | 501 | 672 | ||
3009 | 502 | class islr_wh_doc_line(osv.osv): | 673 | class islr_wh_doc_line(osv.osv): |
3010 | 503 | _name = "islr.wh.doc.line" | 674 | _name = "islr.wh.doc.line" |
3012 | 504 | _description = 'Lines of Document Withholding Income' | 675 | _description = 'Lines of Document Income Withholding' |
3013 | 505 | 676 | ||
3014 | 506 | def _retention_rate(self, cr, uid, ids, name, args, context=None): | 677 | def _retention_rate(self, cr, uid, ids, name, args, context=None): |
3015 | 507 | res = {} | 678 | res = {} |
3016 | @@ -515,10 +686,12 @@ | |||
3017 | 515 | _columns= { | 686 | _columns= { |
3018 | 516 | 'name': fields.char('Description', size=64, help="Description of the voucher line"), | 687 | 'name': fields.char('Description', size=64, help="Description of the voucher line"), |
3019 | 517 | 'invoice_id': fields.many2one('account.invoice', 'Invoice', ondelete='set null', help="Invoice to withhold"), | 688 | 'invoice_id': fields.many2one('account.invoice', 'Invoice', ondelete='set null', help="Invoice to withhold"), |
3021 | 518 | 'amount':fields.float('Amount', digits_compute= dp.get_precision('Withhold ISLR'), help="Withheld amount"), | 689 | 'amount':fields.float('Withheld Amount', digits_compute= dp.get_precision('Withhold ISLR'), help="Withheld amount"), |
3022 | 690 | 'base_amount':fields.float('Base Amount', digits_compute= dp.get_precision('Withhold ISLR'), help="Base amount"), | ||
3023 | 691 | 'subtract':fields.float('Subtract', digits_compute= dp.get_precision('Withhold ISLR'), help="Subtract"), | ||
3024 | 519 | 'islr_wh_doc_id': fields.many2one('islr.wh.doc','Withhold Document', ondelete='cascade', help="Document Retention income tax generated from this bill"), | 692 | 'islr_wh_doc_id': fields.many2one('islr.wh.doc','Withhold Document', ondelete='cascade', help="Document Retention income tax generated from this bill"), |
3027 | 520 | 'concept_id': fields.many2one('islr.wh.concept','Withhold Concept', help="Withhold concept associated with this rate"), | 693 | 'concept_id': fields.many2one('islr.wh.concept','Withholding Concept', help="Withholding concept associated with this rate"), |
3028 | 521 | 'retencion_islr':fields.float('Percentage', digits_compute= dp.get_precision('Withhold ISLR'), help="Withholding percentage"), | 694 | 'retencion_islr':fields.float('Withholding Rate', digits_compute= dp.get_precision('Withhold ISLR'), help="Withholding Rate"), |
3029 | 522 | 'retention_rate': fields.function(_retention_rate, method=True, string='Withholding Rate', type='float', help="Withhold rate has been applied to the invoice", digits_compute= dp.get_precision('Withhold ISLR')), | 695 | 'retention_rate': fields.function(_retention_rate, method=True, string='Withholding Rate', type='float', help="Withhold rate has been applied to the invoice", digits_compute= dp.get_precision('Withhold ISLR')), |
3030 | 523 | 'move_id': fields.many2one('account.move', 'Journal Entry', readonly=True, help="Accounting voucher"), | 696 | 'move_id': fields.many2one('account.move', 'Journal Entry', readonly=True, help="Accounting voucher"), |
3031 | 524 | 'islr_rates_id': fields.many2one('islr.rates','Rates', help="Withhold rates"), | 697 | 'islr_rates_id': fields.many2one('islr.rates','Rates', help="Withhold rates"), |
3032 | 525 | 698 | ||
3033 | === modified file 'l10n_ve_withholding_islr/model/islr_xml_wh.py' | |||
3034 | --- l10n_ve_withholding_islr/model/islr_xml_wh.py 2012-12-09 23:55:45 +0000 | |||
3035 | +++ l10n_ve_withholding_islr/model/islr_xml_wh.py 2013-01-14 19:15:27 +0000 | |||
3036 | @@ -57,7 +57,7 @@ | |||
3037 | 57 | return res | 57 | return res |
3038 | 58 | 58 | ||
3039 | 59 | _columns = { | 59 | _columns = { |
3041 | 60 | 'name':fields.char('Description',128, required=True, select=True, help = "Description about statement of withholding income"), | 60 | 'name':fields.char('Description',128, required=True, select=True, help = "Description about statement of income withholding"), |
3042 | 61 | 'company_id': fields.many2one('res.company', 'Company', required=True, help="Company"), | 61 | 'company_id': fields.many2one('res.company', 'Company', required=True, help="Company"), |
3043 | 62 | 'state': fields.selection([ | 62 | 'state': fields.selection([ |
3044 | 63 | ('draft','Draft'), | 63 | ('draft','Draft'), |
3045 | @@ -66,7 +66,7 @@ | |||
3046 | 66 | ('cancel','Cancelled') | 66 | ('cancel','Cancelled') |
3047 | 67 | ],'State', readonly=True, help="Voucher state"), | 67 | ],'State', readonly=True, help="Voucher state"), |
3048 | 68 | 'period_id':fields.many2one('account.period','Period',required=True, help="Period when the accounts entries were done"), | 68 | 'period_id':fields.many2one('account.period','Period',required=True, help="Period when the accounts entries were done"), |
3050 | 69 | 'amount_total_ret':fields.function(_get_amount_total,method=True, digits=(16, 2), readonly=True, string='Withholding Income Amount Total', help="Amount Total of withholding"), | 69 | 'amount_total_ret':fields.function(_get_amount_total,method=True, digits=(16, 2), readonly=True, string='Income Withholding Amount Total', help="Amount Total of withholding"), |
3051 | 70 | 'amount_total_base':fields.function(_get_amount_total_base,method=True, digits=(16, 2), readonly=True, string='Without Tax Amount Total', help="Total without taxes"), | 70 | 'amount_total_base':fields.function(_get_amount_total_base,method=True, digits=(16, 2), readonly=True, string='Without Tax Amount Total', help="Total without taxes"), |
3052 | 71 | 'xml_ids':fields.one2many('islr.xml.wh.line','islr_xml_wh_doc','XML Document Lines', readonly=True ,states={'draft':[('readonly',False)]}), | 71 | 'xml_ids':fields.one2many('islr.xml.wh.line','islr_xml_wh_doc','XML Document Lines', readonly=True ,states={'draft':[('readonly',False)]}), |
3053 | 72 | 'user_id': fields.many2one('res.users', 'Salesman', readonly=True, states={'draft':[('readonly',False)]}), | 72 | 'user_id': fields.many2one('res.users', 'Salesman', readonly=True, states={'draft':[('readonly',False)]}), |
3054 | @@ -79,7 +79,7 @@ | |||
3055 | 79 | 'user_id': lambda s, cr, u, c: u, | 79 | 'user_id': lambda s, cr, u, c: u, |
3056 | 80 | 80 | ||
3057 | 81 | 'period_id': lambda self,cr,uid,context: self.period_return(cr,uid,context), | 81 | 'period_id': lambda self,cr,uid,context: self.period_return(cr,uid,context), |
3059 | 82 | 'name':lambda self,cr,uid,context : 'Withholding Income '+time.strftime('%m/%Y') | 82 | 'name':lambda self,cr,uid,context : 'Income Withholding '+time.strftime('%m/%Y') |
3060 | 83 | } | 83 | } |
3061 | 84 | 84 | ||
3062 | 85 | def period_return(self,cr,uid,context=None): | 85 | def period_return(self,cr,uid,context=None): |
3063 | @@ -193,17 +193,17 @@ | |||
3064 | 193 | _description = 'Generate XML Lines' | 193 | _description = 'Generate XML Lines' |
3065 | 194 | 194 | ||
3066 | 195 | _columns = { | 195 | _columns = { |
3069 | 196 | 'concept_id': fields.many2one('islr.wh.concept','Withhold Concept',help="Withhold concept associated with this rate",required=True, ondelete='cascade'), | 196 | 'concept_id': fields.many2one('islr.wh.concept','Withholding Concept',help="Withholding concept associated with this rate",required=True, ondelete='cascade'), |
3070 | 197 | 'period_id':fields.many2one('account.period','Period',required=False, help="Period when the accounts entries were done"), | 197 | 'period_id':fields.many2one('account.period','Period',required=False, help="Period when the journal entries were done"), |
3071 | 198 | 'partner_vat': fields.char('VAT', size=10, required=True, help="Partner VAT"), | 198 | 'partner_vat': fields.char('VAT', size=10, required=True, help="Partner VAT"), |
3072 | 199 | 'invoice_number': fields.char('Invoice Number',size=10,required=True, help="Number of invoice"), | 199 | 'invoice_number': fields.char('Invoice Number',size=10,required=True, help="Number of invoice"), |
3073 | 200 | 'control_number': fields.char('Control Number',size=8,required=True, help="Reference"), | 200 | 'control_number': fields.char('Control Number',size=8,required=True, help="Reference"), |
3074 | 201 | 'concept_code': fields.char('Concept Code', size=10, required=True, help="Concept code"), | 201 | 'concept_code': fields.char('Concept Code', size=10, required=True, help="Concept code"), |
3077 | 202 | 'base': fields.float('Without Tax Amount', required=True, help="Taxable", digits_compute= dp.get_precision('Withhold ISLR')), | 202 | 'base': fields.float('Base Amount', required=True, help="Amount where a withholding is going to be computed from", digits_compute= dp.get_precision('Withhold ISLR')), |
3078 | 203 | 'porcent_rete': fields.float('% Withhold', required=True, help="Percentage of Withhold", digits_compute= dp.get_precision('Withhold ISLR')), | 203 | 'porcent_rete': fields.float('Withholding Rate', required=True, help="Withholding Rate", digits_compute= dp.get_precision('Withhold ISLR')), |
3079 | 204 | 'wh':fields.float('Withheld Amount',required=True, help="Withheld amount to partner", digits_compute= dp.get_precision('Withhold ISLR')), | 204 | 'wh':fields.float('Withheld Amount',required=True, help="Withheld amount to partner", digits_compute= dp.get_precision('Withhold ISLR')), |
3080 | 205 | 'rate_id':fields.many2one('islr.rates', 'Person Type',domain="[('concept_id','=',concept_id)]",required=True, help="Person type"), | 205 | 'rate_id':fields.many2one('islr.rates', 'Person Type',domain="[('concept_id','=',concept_id)]",required=True, help="Person type"), |
3082 | 206 | 'islr_wh_doc_line_id':fields.many2one('islr.wh.doc.line','Withholding Income Document', help="Withhold income document"), | 206 | 'islr_wh_doc_line_id':fields.many2one('islr.wh.doc.line','Income Withholding Document', help="Income Withholding Document"), |
3083 | 207 | 'account_invoice_line_id':fields.many2one('account.invoice.line','Invoice Line', help="Invoice line to Withhold"), | 207 | 'account_invoice_line_id':fields.many2one('account.invoice.line','Invoice Line', help="Invoice line to Withhold"), |
3084 | 208 | 'account_invoice_id':fields.many2one('account.invoice','Invoice', help="Invoice to Withhold"), | 208 | 'account_invoice_id':fields.many2one('account.invoice','Invoice', help="Invoice to Withhold"), |
3085 | 209 | 'islr_xml_wh_doc': fields.many2one('islr.xml.wh.doc','ISLR XML Document', help="Income tax XML Doc"), | 209 | 'islr_xml_wh_doc': fields.many2one('islr.xml.wh.doc','ISLR XML Document', help="Income tax XML Doc"), |
3086 | 210 | 210 | ||
3087 | === modified file 'l10n_ve_withholding_islr/model/partner.py' | |||
3088 | --- l10n_ve_withholding_islr/model/partner.py 2012-12-09 23:55:45 +0000 | |||
3089 | +++ l10n_ve_withholding_islr/model/partner.py 2013-01-14 19:15:27 +0000 | |||
3090 | @@ -42,6 +42,9 @@ | |||
3091 | 42 | 'islr_exempt': fields.boolean('Is it exempt from income withholding?'), | 42 | 'islr_exempt': fields.boolean('Is it exempt from income withholding?'), |
3092 | 43 | } | 43 | } |
3093 | 44 | 44 | ||
3094 | 45 | _defaults = { | ||
3095 | 46 | 'islr_withholding_agent': lambda *a: True, | ||
3096 | 47 | } | ||
3097 | 45 | res_partner() | 48 | res_partner() |
3098 | 46 | 49 | ||
3099 | 47 | 50 | ||
3100 | 48 | 51 | ||
3101 | === modified file 'l10n_ve_withholding_islr/model/product.py' | |||
3102 | --- l10n_ve_withholding_islr/model/product.py 2012-12-09 23:55:45 +0000 | |||
3103 | +++ l10n_ve_withholding_islr/model/product.py 2013-01-14 19:15:27 +0000 | |||
3104 | @@ -37,7 +37,7 @@ | |||
3105 | 37 | _inherit = "product.template" | 37 | _inherit = "product.template" |
3106 | 38 | 38 | ||
3107 | 39 | _columns = { | 39 | _columns = { |
3109 | 40 | 'concept_id': fields.many2one('islr.wh.concept','Withhold Concept',help="Concept Withholding Income to apply to the service", required=False), | 40 | 'concept_id': fields.many2one('islr.wh.concept','Withhold Concept',help="Concept Income Withholding to apply to the service", required=False), |
3110 | 41 | } | 41 | } |
3111 | 42 | 42 | ||
3112 | 43 | product_template() | 43 | product_template() |
3113 | @@ -59,7 +59,7 @@ | |||
3114 | 59 | if concept_id: | 59 | if concept_id: |
3115 | 60 | concept_id = concept_obj.search(cr, uid, [('name','ilike','NO APLICA RETENCION')])[0] | 60 | concept_id = concept_obj.search(cr, uid, [('name','ilike','NO APLICA RETENCION')])[0] |
3116 | 61 | else: | 61 | else: |
3118 | 62 | raise osv.except_osv(_('Invalid action !'),_("Must create the concept of withholding income")) | 62 | raise osv.except_osv(_('Invalid action !'),_("Must create the concept of income withholding")) |
3119 | 63 | 63 | ||
3120 | 64 | return {'value' : {'concept_id':concept_id or False}} | 64 | return {'value' : {'concept_id':concept_id or False}} |
3121 | 65 | 65 | ||
3122 | 66 | 66 | ||
3123 | === modified file 'l10n_ve_withholding_islr/report/islr_wh_report.xml' | |||
3124 | --- l10n_ve_withholding_islr/report/islr_wh_report.xml 2012-12-19 18:17:09 +0000 | |||
3125 | +++ l10n_ve_withholding_islr/report/islr_wh_report.xml 2013-01-14 19:15:27 +0000 | |||
3126 | @@ -6,7 +6,7 @@ | |||
3127 | 6 | model="islr.wh.doc" | 6 | model="islr.wh.doc" |
3128 | 7 | name="islr.wh.doc" | 7 | name="islr.wh.doc" |
3129 | 8 | rml="addons/l10n_ve_withholding_islr/report/wh_islr_report.rml" | 8 | rml="addons/l10n_ve_withholding_islr/report/wh_islr_report.rml" |
3131 | 9 | string="Voucher Withholding Income" | 9 | string="Voucher Income Withholding" |
3132 | 10 | auto="False" | 10 | auto="False" |
3133 | 11 | header="False" | 11 | header="False" |
3134 | 12 | menu="False" | 12 | menu="False" |
3135 | @@ -18,7 +18,7 @@ | |||
3136 | 18 | model="islr.xml.wh.doc" | 18 | model="islr.xml.wh.doc" |
3137 | 19 | name="list.wh.islr" | 19 | name="list.wh.islr" |
3138 | 20 | rml="addons/l10n_ve_withholding_islr/report/list_wh_islr_report.rml" | 20 | rml="addons/l10n_ve_withholding_islr/report/list_wh_islr_report.rml" |
3140 | 21 | string="Withholding Income" | 21 | string="Income Withholding" |
3141 | 22 | auto = "True" | 22 | auto = "True" |
3142 | 23 | header="False"/> | 23 | header="False"/> |
3143 | 24 | 24 | ||
3144 | 25 | 25 | ||
3145 | === modified file 'l10n_ve_withholding_islr/view/installer.xml' | |||
3146 | --- l10n_ve_withholding_islr/view/installer.xml 2012-12-12 01:44:29 +0000 | |||
3147 | +++ l10n_ve_withholding_islr/view/installer.xml 2013-01-14 19:15:27 +0000 | |||
3148 | @@ -4,18 +4,17 @@ | |||
3149 | 4 | <record id="wh_islr_config_view" model="ir.ui.view"> | 4 | <record id="wh_islr_config_view" model="ir.ui.view"> |
3150 | 5 | <field name="name">Configure your ISLR Withholdings</field> | 5 | <field name="name">Configure your ISLR Withholdings</field> |
3151 | 6 | <field name="model">wh.islr.config</field> | 6 | <field name="model">wh.islr.config</field> |
3152 | 7 | <field name="type">form</field> | ||
3153 | 8 | <field name="inherit_id" ref="base.res_config_view_base"/> | 7 | <field name="inherit_id" ref="base.res_config_view_base"/> |
3154 | 9 | <field name="arch" type="xml"> | 8 | <field name="arch" type="xml"> |
3155 | 10 | <data> | 9 | <data> |
3156 | 11 | <form position="attributes"> | 10 | <form position="attributes"> |
3158 | 12 | <attribute name="string">Withholding income Configuration</attribute> | 11 | <attribute name="string">Income withholding Configuration</attribute> |
3159 | 13 | </form> | 12 | </form> |
3160 | 14 | 13 | ||
3161 | 15 | <xpath expr='//group[@string="res_config_contents"]' position='before'> | 14 | <xpath expr='//group[@string="res_config_contents"]' position='before'> |
3162 | 16 | <group colspan="4" col="8"> | 15 | <group colspan="4" col="8"> |
3163 | 17 | <group colspan="1" width="220"> | 16 | <group colspan="1" width="220"> |
3165 | 18 | <label align="0.0" string="Configure your company's withholding income" width="200" colspan="2"/> | 17 | <label align="0.0" string="Configure your company's income withholding" width="200" colspan="2"/> |
3166 | 19 | </group> | 18 | </group> |
3167 | 20 | <separator orientation="vertical" colspan="1" rowspan="15"/> | 19 | <separator orientation="vertical" colspan="1" rowspan="15"/> |
3168 | 21 | <group colspan="6"> | 20 | <group colspan="6"> |
3169 | 22 | 21 | ||
3170 | === modified file 'l10n_ve_withholding_islr/view/invoice_view.xml' | |||
3171 | --- l10n_ve_withholding_islr/view/invoice_view.xml 2012-12-14 19:49:40 +0000 | |||
3172 | +++ l10n_ve_withholding_islr/view/invoice_view.xml 2013-01-14 19:15:27 +0000 | |||
3173 | @@ -11,7 +11,6 @@ | |||
3174 | 11 | <record id="account_invoice_wh_islr_customer" model="ir.ui.view"> | 11 | <record id="account_invoice_wh_islr_customer" model="ir.ui.view"> |
3175 | 12 | <field name="name">account.invoice.wh.islr.customer</field> | 12 | <field name="name">account.invoice.wh.islr.customer</field> |
3176 | 13 | <field name="model">account.invoice</field> | 13 | <field name="model">account.invoice</field> |
3177 | 14 | <field name="type">form</field> | ||
3178 | 15 | <field name="inherit_id" ref="l10n_ve_withholding.wh_inv_customer"/> | 14 | <field name="inherit_id" ref="l10n_ve_withholding.wh_inv_customer"/> |
3179 | 16 | <field name="arch" type="xml"> | 15 | <field name="arch" type="xml"> |
3180 | 17 | <xpath expr="//separator[@string='vsep']" position="after"> | 16 | <xpath expr="//separator[@string='vsep']" position="after"> |
3181 | @@ -31,7 +30,6 @@ | |||
3182 | 31 | <record id="account_invoice_wh_islr_supplier" model="ir.ui.view"> | 30 | <record id="account_invoice_wh_islr_supplier" model="ir.ui.view"> |
3183 | 32 | <field name="name">account.invoice.wh.islr.supplier</field> | 31 | <field name="name">account.invoice.wh.islr.supplier</field> |
3184 | 33 | <field name="model">account.invoice</field> | 32 | <field name="model">account.invoice</field> |
3185 | 34 | <field name="type">form</field> | ||
3186 | 35 | <field name="inherit_id" ref="l10n_ve_withholding.wh_inv_supplier"/> | 33 | <field name="inherit_id" ref="l10n_ve_withholding.wh_inv_supplier"/> |
3187 | 36 | <field name="arch" type="xml"> | 34 | <field name="arch" type="xml"> |
3188 | 37 | <xpath expr="//separator[@string='vsep']" position="after"> | 35 | <xpath expr="//separator[@string='vsep']" position="after"> |
3189 | @@ -51,7 +49,6 @@ | |||
3190 | 51 | <record model="ir.ui.view" id="view_account_invoice_form_concept_islr"> | 49 | <record model="ir.ui.view" id="view_account_invoice_form_concept_islr"> |
3191 | 52 | <field name="name">account_invoice_concept_islr</field> | 50 | <field name="name">account_invoice_concept_islr</field> |
3192 | 53 | <field name="model">account.invoice</field> | 51 | <field name="model">account.invoice</field> |
3193 | 54 | <field name="type">form</field> | ||
3194 | 55 | <field name="inherit_id" ref="account.invoice_supplier_form"/> | 52 | <field name="inherit_id" ref="account.invoice_supplier_form"/> |
3195 | 56 | <field name="arch" type="xml"> | 53 | <field name="arch" type="xml"> |
3196 | 57 | <xpath expr="//field[@name='quantity']" position="before"> | 54 | <xpath expr="//field[@name='quantity']" position="before"> |
3197 | @@ -60,10 +57,20 @@ | |||
3198 | 60 | </field> | 57 | </field> |
3199 | 61 | </record> | 58 | </record> |
3200 | 62 | 59 | ||
3201 | 60 | <record model="ir.ui.view" id="view_account_invoice_form_concept_islr_customer"> | ||
3202 | 61 | <field name="name">account.invoice.concept.islr.customer</field> | ||
3203 | 62 | <field name="model">account.invoice</field> | ||
3204 | 63 | <field name="inherit_id" ref="account.invoice_form"/> | ||
3205 | 64 | <field name="arch" type="xml"> | ||
3206 | 65 | <xpath expr="//field[@name='quantity']" position="before"> | ||
3207 | 66 | <field name="concept_id" required="1"/> | ||
3208 | 67 | </xpath> | ||
3209 | 68 | </field> | ||
3210 | 69 | </record> | ||
3211 | 70 | |||
3212 | 63 | <record model="ir.ui.view" id="view_invoice_line_form_islr"> | 71 | <record model="ir.ui.view" id="view_invoice_line_form_islr"> |
3213 | 64 | <field name="name">account_invoice_line_concept_islr</field> | 72 | <field name="name">account_invoice_line_concept_islr</field> |
3214 | 65 | <field name="model">account.invoice.line</field> | 73 | <field name="model">account.invoice.line</field> |
3215 | 66 | <field name="type">form</field> | ||
3216 | 67 | <field name="inherit_id" ref="account.view_invoice_line_form"/> | 74 | <field name="inherit_id" ref="account.view_invoice_line_form"/> |
3217 | 68 | <field name="arch" type="xml"> | 75 | <field name="arch" type="xml"> |
3218 | 69 | <xpath expr="//field[@name='product_id']" position="before"> | 76 | <xpath expr="//field[@name='product_id']" position="before"> |
3219 | @@ -75,7 +82,6 @@ | |||
3220 | 75 | <record model="ir.ui.view" id="view_invoice_line_tree_islr"> | 82 | <record model="ir.ui.view" id="view_invoice_line_tree_islr"> |
3221 | 76 | <field name="name">account_invoice_line_tree_concept_islr</field> | 83 | <field name="name">account_invoice_line_tree_concept_islr</field> |
3222 | 77 | <field name="model">account.invoice.line</field> | 84 | <field name="model">account.invoice.line</field> |
3223 | 78 | <field name="type">tree</field> | ||
3224 | 79 | <field name="inherit_id" ref="account.view_invoice_line_tree"/> | 85 | <field name="inherit_id" ref="account.view_invoice_line_tree"/> |
3225 | 80 | <field name="arch" type="xml"> | 86 | <field name="arch" type="xml"> |
3226 | 81 | <xpath expr="//field[@name='name']" position="after"> | 87 | <xpath expr="//field[@name='name']" position="after"> |
3227 | @@ -86,9 +92,3 @@ | |||
3228 | 86 | 92 | ||
3229 | 87 | </data> | 93 | </data> |
3230 | 88 | </openerp> | 94 | </openerp> |
3231 | 89 | |||
3232 | 90 | |||
3233 | 91 | |||
3234 | 92 | |||
3235 | 93 | |||
3236 | 94 | |||
3237 | 95 | 95 | ||
3238 | === modified file 'l10n_ve_withholding_islr/view/islr_wh_concept_view.xml' | |||
3239 | --- l10n_ve_withholding_islr/view/islr_wh_concept_view.xml 2012-12-17 19:11:02 +0000 | |||
3240 | +++ l10n_ve_withholding_islr/view/islr_wh_concept_view.xml 2013-01-14 19:15:27 +0000 | |||
3241 | @@ -9,12 +9,11 @@ | |||
3242 | 9 | <record id="view_wh_concept_filter" model="ir.ui.view"> | 9 | <record id="view_wh_concept_filter" model="ir.ui.view"> |
3243 | 10 | <field name="name">islr.wh.concept.search</field> | 10 | <field name="name">islr.wh.concept.search</field> |
3244 | 11 | <field name="model">islr.wh.concept</field> | 11 | <field name="model">islr.wh.concept</field> |
3245 | 12 | <field name="type">search</field> | ||
3246 | 13 | <field name="arch" type="xml"> | 12 | <field name="arch" type="xml"> |
3248 | 14 | <search string="Search Concept of Withholding Income"> | 13 | <search string="Search Concept of Income Withholding"> |
3249 | 15 | <group col="10" colspan="4"> | 14 | <group col="10" colspan="4"> |
3250 | 16 | <filter name="withholdable" string="Withhold" domain="[('withholdable','=','True')]" help="Concept withholding withheld"/> | 15 | <filter name="withholdable" string="Withhold" domain="[('withholdable','=','True')]" help="Concept withholding withheld"/> |
3252 | 17 | <filter domain="[('user_id','=',uid)]" help="My Withholding Income" separator="1"/> | 16 | <filter domain="[('user_id','=',uid)]" help="My Income Withholding" separator="1"/> |
3253 | 18 | </group> | 17 | </group> |
3254 | 19 | </search> | 18 | </search> |
3255 | 20 | </field> | 19 | </field> |
3256 | @@ -23,7 +22,6 @@ | |||
3257 | 23 | <record id="view_wh_islr_rate_form" model="ir.ui.view"> | 22 | <record id="view_wh_islr_rate_form" model="ir.ui.view"> |
3258 | 24 | <field name="name">tasas_form</field> | 23 | <field name="name">tasas_form</field> |
3259 | 25 | <field name="model">islr.rates</field> | 24 | <field name="model">islr.rates</field> |
3260 | 26 | <field name="type">form</field> | ||
3261 | 27 | <field name="arch" type="xml"> | 25 | <field name="arch" type="xml"> |
3262 | 28 | <form string="Rates"> | 26 | <form string="Rates"> |
3263 | 29 | <field name="name" colspan="4"/> | 27 | <field name="name" colspan="4"/> |
3264 | @@ -43,7 +41,6 @@ | |||
3265 | 43 | <record id="view_wh_islr_rate_tree" model="ir.ui.view"> | 41 | <record id="view_wh_islr_rate_tree" model="ir.ui.view"> |
3266 | 44 | <field name="name">tasas_tree</field> | 42 | <field name="name">tasas_tree</field> |
3267 | 45 | <field name="model">islr.rates</field> | 43 | <field name="model">islr.rates</field> |
3268 | 46 | <field name="type">tree</field> | ||
3269 | 47 | <field name="arch" type="xml"> | 44 | <field name="arch" type="xml"> |
3270 | 48 | <tree string="Rates"> | 45 | <tree string="Rates"> |
3271 | 49 | <field name="name"/> | 46 | <field name="name"/> |
3272 | @@ -61,9 +58,8 @@ | |||
3273 | 61 | <record id="view_wh_concept_islr_tree" model="ir.ui.view"> | 58 | <record id="view_wh_concept_islr_tree" model="ir.ui.view"> |
3274 | 62 | <field name="name">islr.wh.concept_tree</field> | 59 | <field name="name">islr.wh.concept_tree</field> |
3275 | 63 | <field name="model">islr.wh.concept</field> | 60 | <field name="model">islr.wh.concept</field> |
3276 | 64 | <field name="type">tree</field> | ||
3277 | 65 | <field name="arch" type="xml"> | 61 | <field name="arch" type="xml"> |
3279 | 66 | <tree string="Concept of Withholding Income"> | 62 | <tree string="Concept of Income Withholding"> |
3280 | 67 | <field name="name"/> | 63 | <field name="name"/> |
3281 | 68 | <field name="withholdable"/> | 64 | <field name="withholdable"/> |
3282 | 69 | </tree> | 65 | </tree> |
3283 | @@ -73,9 +69,8 @@ | |||
3284 | 73 | <record id="view_wh_concept_islr_form" model="ir.ui.view"> | 69 | <record id="view_wh_concept_islr_form" model="ir.ui.view"> |
3285 | 74 | <field name="name">islr.wh.concept_form</field> | 70 | <field name="name">islr.wh.concept_form</field> |
3286 | 75 | <field name="model">islr.wh.concept</field> | 71 | <field name="model">islr.wh.concept</field> |
3287 | 76 | <field name="type">form</field> | ||
3288 | 77 | <field name="arch" type="xml"> | 72 | <field name="arch" type="xml"> |
3290 | 78 | <form string="Concept of Withholding Income"> | 73 | <form string="Concept of Income Withholding"> |
3291 | 79 | <group colspan="4" col="4"> | 74 | <group colspan="4" col="4"> |
3292 | 80 | <field name="name"/> | 75 | <field name="name"/> |
3293 | 81 | <field name="withholdable"/> | 76 | <field name="withholdable"/> |
3294 | @@ -92,13 +87,13 @@ | |||
3295 | 92 | </record> | 87 | </record> |
3296 | 93 | 88 | ||
3297 | 94 | <record model="ir.actions.act_window" id="action_wh_islr_concept"> | 89 | <record model="ir.actions.act_window" id="action_wh_islr_concept"> |
3299 | 95 | <field name="name">Concept of Withholding Income</field> | 90 | <field name="name">Concept of Income Withholding</field> |
3300 | 96 | <field name="res_model">islr.wh.concept</field> | 91 | <field name="res_model">islr.wh.concept</field> |
3301 | 97 | <field name="type">ir.actions.act_window</field> | 92 | <field name="type">ir.actions.act_window</field> |
3302 | 98 | <field name="view_type">form</field> | 93 | <field name="view_type">form</field> |
3303 | 99 | <field name="view_mode">tree,form</field> | 94 | <field name="view_mode">tree,form</field> |
3304 | 100 | <field name="search_view_id" ref="view_wh_concept_filter"/> | 95 | <field name="search_view_id" ref="view_wh_concept_filter"/> |
3306 | 101 | <field name="help">With "Concept of Withholding Income" you can create and manage the concept of wittholding income. For each concept is to create and manage rates associated.</field> | 96 | <field name="help">With "Concept of Income Withholding" you can create and manage the concept of wittholding income. For each concept is to create and manage rates associated.</field> |
3307 | 102 | </record> | 97 | </record> |
3308 | 103 | 98 | ||
3309 | 104 | <record model="ir.actions.act_window.view" id="action_wh_islr_concept_tree"> | 99 | <record model="ir.actions.act_window.view" id="action_wh_islr_concept_tree"> |
3310 | @@ -114,7 +109,7 @@ | |||
3311 | 114 | <field name="act_window_id" ref="action_wh_islr_concept"/> | 109 | <field name="act_window_id" ref="action_wh_islr_concept"/> |
3312 | 115 | </record> | 110 | </record> |
3313 | 116 | 111 | ||
3315 | 117 | <menuitem name="Concept of Withholding Income" | 112 | <menuitem name="Concept of Income Withholding" |
3316 | 118 | id="menu_action_concept_retention" | 113 | id="menu_action_concept_retention" |
3317 | 119 | parent="menu_wh_configuration_islr" | 114 | parent="menu_wh_configuration_islr" |
3318 | 120 | action="action_wh_islr_concept"/> | 115 | action="action_wh_islr_concept"/> |
3319 | 121 | 116 | ||
3320 | === modified file 'l10n_ve_withholding_islr/view/islr_wh_doc_view.xml' | |||
3321 | --- l10n_ve_withholding_islr/view/islr_wh_doc_view.xml 2012-12-18 13:23:28 +0000 | |||
3322 | +++ l10n_ve_withholding_islr/view/islr_wh_doc_view.xml 2013-01-14 19:15:27 +0000 | |||
3323 | @@ -8,19 +8,32 @@ | |||
3324 | 8 | ===================================================== | 8 | ===================================================== |
3325 | 9 | --> | 9 | --> |
3326 | 10 | 10 | ||
3327 | 11 | <record id="view_islr_wh_doc_invoices_tree_" model="ir.ui.view"> | ||
3328 | 12 | <field name="name">islr.wh.doc.invoices_tree</field> | ||
3329 | 13 | <field name="model">islr.wh.doc.invoices</field> | ||
3330 | 14 | <field name="arch" type="xml"> | ||
3331 | 15 | <tree string="Withheld Invoices"> | ||
3332 | 16 | <field name="invoice_id"/> | ||
3333 | 17 | <field name="islr_xml_id"/> | ||
3334 | 18 | <field name="amount_islr_ret"/> | ||
3335 | 19 | <field name="base_ret"/> | ||
3336 | 20 | </tree> | ||
3337 | 21 | </field> | ||
3338 | 22 | </record> | ||
3339 | 23 | |||
3340 | 11 | <record id="view_islr_wh_doc_invoices_form_" model="ir.ui.view"> | 24 | <record id="view_islr_wh_doc_invoices_form_" model="ir.ui.view"> |
3341 | 12 | <field name="name">islr.wh.doc.invoices_form</field> | 25 | <field name="name">islr.wh.doc.invoices_form</field> |
3342 | 13 | <field name="model">islr.wh.doc.invoices</field> | 26 | <field name="model">islr.wh.doc.invoices</field> |
3343 | 14 | <field name="type">form</field> | ||
3344 | 15 | <field name="arch" type="xml"> | 27 | <field name="arch" type="xml"> |
3345 | 16 | <form string="Invoices"> | 28 | <form string="Invoices"> |
3346 | 17 | <field | 29 | <field |
3347 | 18 | name="invoice_id" | 30 | name="invoice_id" |
3349 | 19 | domain="[('partner_id','=',parent.partner_id),('islr_wh_doc_id', '=', False),('state', '=', 'open'),('invoice_line.concept_id.withholdable', '=', True)]" | 31 | domain="[('partner_id','=',parent.partner_id),('islr_wh_doc_id', '=', False),('state', '=', 'open')]" |
3350 | 20 | colspan='6'/> | 32 | colspan='6'/> |
3351 | 21 | <newline/> | 33 | <newline/> |
3352 | 22 | <field name="islr_xml_id" nolabel="1" colspan='4'> | 34 | <field name="islr_xml_id" nolabel="1" colspan='4'> |
3354 | 23 | <tree string="Detail of the Concept of Withholding Income"> | 35 | <tree string="Detail of the Concept of Income Withholding"> |
3355 | 36 | <field name="concept_code"/> | ||
3356 | 24 | <field name="rate_id"/> | 37 | <field name="rate_id"/> |
3357 | 25 | <field name="wh"/> | 38 | <field name="wh"/> |
3358 | 26 | <field name="porcent_rete"/> | 39 | <field name="porcent_rete"/> |
3359 | @@ -43,15 +56,14 @@ | |||
3360 | 43 | <record id="view_wh_islr_filter_customer" model="ir.ui.view"> | 56 | <record id="view_wh_islr_filter_customer" model="ir.ui.view"> |
3361 | 44 | <field name="name">islr.wh.doc.search</field> | 57 | <field name="name">islr.wh.doc.search</field> |
3362 | 45 | <field name="model">islr.wh.doc</field> | 58 | <field name="model">islr.wh.doc</field> |
3363 | 46 | <field name="type">search</field> | ||
3364 | 47 | <field name="arch" type="xml"> | 59 | <field name="arch" type="xml"> |
3366 | 48 | <search string="Search Withholding Income"> | 60 | <search string="Search Income Withholding"> |
3367 | 49 | <group col="10" colspan="4"> | 61 | <group col="10" colspan="4"> |
3373 | 50 | <filter name="to_process" string="To Process" domain="[('state','=','to_process')]" help="To Process Withholding Income"/> | 62 | <filter name="to_process" string="To Process" domain="[('state','=','to_process')]" help="To Process Income Withholding"/> |
3374 | 51 | <filter name="draft" string="Draft" domain="[('state','=','draft')]" help="Draft Withholding Income"/> | 63 | <filter name="draft" string="Draft" domain="[('state','=','draft')]" help="Draft Income Withholding"/> |
3375 | 52 | <filter name="confirmed" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Withholding Income"/> | 64 | <filter name="confirmed" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Income Withholding"/> |
3376 | 53 | <filter name="done" string="Done" domain="[('state','=','done')]" help="Done Withholding Income"/> | 65 | <filter name="done" string="Done" domain="[('state','=','done')]" help="Done Income Withholding"/> |
3377 | 54 | <filter name="cancel" string="Cancel" domain="[('state','=','cancel')]" help="Cancel Withholding Income"/> | 66 | <filter name="cancel" string="Cancel" domain="[('state','=','cancel')]" help="Cancel Income Withholding"/> |
3378 | 55 | </group> | 67 | </group> |
3379 | 56 | <group expand="1" string="Group By..."> | 68 | <group expand="1" string="Group By..."> |
3380 | 57 | <filter string="Partner" domain="[]" context="{'group_by':'partner_id'}"/> | 69 | <filter string="Partner" domain="[]" context="{'group_by':'partner_id'}"/> |
3381 | @@ -67,9 +79,8 @@ | |||
3382 | 67 | <record id="view_islr_line_tree" model="ir.ui.view"> | 79 | <record id="view_islr_line_tree" model="ir.ui.view"> |
3383 | 68 | <field name="name">islr.wh.doc_line_tree</field> | 80 | <field name="name">islr.wh.doc_line_tree</field> |
3384 | 69 | <field name="model">islr.wh.doc.line</field> | 81 | <field name="model">islr.wh.doc.line</field> |
3385 | 70 | <field name="type">tree</field> | ||
3386 | 71 | <field name="arch" type="xml"> | 82 | <field name="arch" type="xml"> |
3388 | 72 | <tree string="Lines Withholding Income" editable="bottom" > | 83 | <tree string="Lines Income Withholding" editable="bottom" > |
3389 | 73 | <field name="name"/> | 84 | <field name="name"/> |
3390 | 74 | <field name="concept_id"/> | 85 | <field name="concept_id"/> |
3391 | 75 | <field name="retencion_islr"/> | 86 | <field name="retencion_islr"/> |
3392 | @@ -82,14 +93,13 @@ | |||
3393 | 82 | <record id="view_islr_line_form" model="ir.ui.view"> | 93 | <record id="view_islr_line_form" model="ir.ui.view"> |
3394 | 83 | <field name="name">islr.wh.doc.line_form</field> | 94 | <field name="name">islr.wh.doc.line_form</field> |
3395 | 84 | <field name="model">islr.wh.doc.line</field> | 95 | <field name="model">islr.wh.doc.line</field> |
3396 | 85 | <field name="type">form</field> | ||
3397 | 86 | <field name="arch" type="xml"> | 96 | <field name="arch" type="xml"> |
3399 | 87 | <form string="Lines Withholding Income"> | 97 | <form string="Lines Income Withholding"> |
3400 | 88 | <field name="concept_id" colspan='6'/> | 98 | <field name="concept_id" colspan='6'/> |
3401 | 89 | <field name="move_id" colspan='6'/> | 99 | <field name="move_id" colspan='6'/> |
3402 | 90 | <newline/> | 100 | <newline/> |
3403 | 91 | <field name="xml_ids" nolabel="1" colspan='4'> | 101 | <field name="xml_ids" nolabel="1" colspan='4'> |
3405 | 92 | <tree string="Detail of the Concept of Withholding Income"> | 102 | <tree string="Detail of the Concept of Income Withholding"> |
3406 | 93 | <field name="rate_id"/> | 103 | <field name="rate_id"/> |
3407 | 94 | <field name="wh"/> | 104 | <field name="wh"/> |
3408 | 95 | <field name="porcent_rete"/> | 105 | <field name="porcent_rete"/> |
3409 | @@ -103,9 +113,8 @@ | |||
3410 | 103 | <record id="view_islr_tree_customers" model="ir.ui.view"> | 113 | <record id="view_islr_tree_customers" model="ir.ui.view"> |
3411 | 104 | <field name="name">islr.wh.doc_tree_customers</field> | 114 | <field name="name">islr.wh.doc_tree_customers</field> |
3412 | 105 | <field name="model">islr.wh.doc</field> | 115 | <field name="model">islr.wh.doc</field> |
3413 | 106 | <field name="type">tree</field> | ||
3414 | 107 | <field name="arch" type="xml"> | 116 | <field name="arch" type="xml"> |
3416 | 108 | <tree colors="blue:state=='draft'" string="Customer Withholding Income"> | 117 | <tree colors="blue:state=='draft'" string="Customer Income Withholding"> |
3417 | 109 | <field name="partner_id"/> | 118 | <field name="partner_id"/> |
3418 | 110 | <field name="date_ret"/> | 119 | <field name="date_ret"/> |
3419 | 111 | <field name="period_id"/> | 120 | <field name="period_id"/> |
3420 | @@ -122,9 +131,8 @@ | |||
3421 | 122 | <record id="view_islr_form_customers" model="ir.ui.view"> | 131 | <record id="view_islr_form_customers" model="ir.ui.view"> |
3422 | 123 | <field name="name">islr.wh.doc_form_customers</field> | 132 | <field name="name">islr.wh.doc_form_customers</field> |
3423 | 124 | <field name="model">islr.wh.doc</field> | 133 | <field name="model">islr.wh.doc</field> |
3424 | 125 | <field name="type">form</field> | ||
3425 | 126 | <field name="arch" type="xml"> | 134 | <field name="arch" type="xml"> |
3427 | 127 | <form string="Customer Withholding Income"> | 135 | <form string="Customer Income Withholding"> |
3428 | 128 | <group colspan="4" col="6"> | 136 | <group colspan="4" col="6"> |
3429 | 129 | <field name="journal_id" domain="[('type','=','islr_sale')]"/> | 137 | <field name="journal_id" domain="[('type','=','islr_sale')]"/> |
3430 | 130 | <field name="type"/> | 138 | <field name="type"/> |
3431 | @@ -138,10 +146,13 @@ | |||
3432 | 138 | <field name="date_uid"/> | 146 | <field name="date_uid"/> |
3433 | 139 | </group> | 147 | </group> |
3434 | 140 | <notebook colspan="6"> | 148 | <notebook colspan="6"> |
3435 | 149 | <page string="Invoices to Be Withheld"> | ||
3436 | 150 | <field name='invoice_ids' nolabel='1'/> | ||
3437 | 151 | </page> | ||
3438 | 141 | <page string="Invoices"> | 152 | <page string="Invoices"> |
3439 | 142 | <field domain="[('partner_id','=',partner_id),('status','=','no_pro'),('state','in',['open','paid']),('type','in',['out_invoice','out_refund'])]" colspan="6" name="islr_wh_doc_id" nolabel="1" widget="many2many"/> | 153 | <field domain="[('partner_id','=',partner_id),('status','=','no_pro'),('state','in',['open','paid']),('type','in',['out_invoice','out_refund'])]" colspan="6" name="islr_wh_doc_id" nolabel="1" widget="many2many"/> |
3440 | 143 | </page> | 154 | </page> |
3442 | 144 | <page string="Concept of Withholding Income"> | 155 | <page string="Concept of Income Withholding"> |
3443 | 145 | <field colspan="6" name="concept_ids" nolabel="1" widget="one2many_list"/> | 156 | <field colspan="6" name="concept_ids" nolabel="1" widget="one2many_list"/> |
3444 | 146 | <group col="4" colspan="2"> | 157 | <group col="4" colspan="2"> |
3445 | 147 | <field name="amount_total_ret"/> | 158 | <field name="amount_total_ret"/> |
3446 | @@ -154,10 +165,9 @@ | |||
3447 | 154 | <group colspan="6" col="2"> | 165 | <group colspan="6" col="2"> |
3448 | 155 | <group col="1"> | 166 | <group col="1"> |
3449 | 156 | <field name="state"/> | 167 | <field name="state"/> |
3452 | 157 | <button name="act_progress" string="Progress" states="draft" icon="gtk-go-forward"/> | 168 | <button name="act_confirm" string="Confirmed" states="draft" icon="gtk-go-forward"/> |
3451 | 158 | <button name="act_confirmed" string="Confirmed" states="progress" icon="gtk-go-forward"/> | ||
3453 | 159 | <button name="act_done" string="Done" states="confirmed" icon="gtk-execute" /> | 169 | <button name="act_done" string="Done" states="confirmed" icon="gtk-execute" /> |
3455 | 160 | <button name="%(voucher_report_withholding_islr)d" string="Print Withholding Income" states="done" colspan="3" type="action" icon="gtk-execute"/> | 170 | <button name="%(voucher_report_withholding_islr)d" string="Print Income Withholding" states="done" colspan="3" type="action" icon="gtk-execute"/> |
3456 | 161 | <button name="act_cancel" string="Cancel" states="draft,progress,confirmed,done" icon="gtk-cancel" /> | 171 | <button name="act_cancel" string="Cancel" states="draft,progress,confirmed,done" icon="gtk-cancel" /> |
3457 | 162 | <button name="act_draft" colspan="2" string="Set to draft" states="cancel" icon="gtk-go-forward"/> | 172 | <button name="act_draft" colspan="2" string="Set to draft" states="cancel" icon="gtk-go-forward"/> |
3458 | 163 | </group> | 173 | </group> |
3459 | @@ -175,14 +185,13 @@ | |||
3460 | 175 | <record id="view_wh_islr_filter_suppliers" model="ir.ui.view"> | 185 | <record id="view_wh_islr_filter_suppliers" model="ir.ui.view"> |
3461 | 176 | <field name="name">islr.wh.doc.search</field> | 186 | <field name="name">islr.wh.doc.search</field> |
3462 | 177 | <field name="model">islr.wh.doc</field> | 187 | <field name="model">islr.wh.doc</field> |
3463 | 178 | <field name="type">search</field> | ||
3464 | 179 | <field name="arch" type="xml"> | 188 | <field name="arch" type="xml"> |
3466 | 180 | <search string="Search Withholding Income"> | 189 | <search string="Search Income Withholding"> |
3467 | 181 | <group col="10" colspan="4"> | 190 | <group col="10" colspan="4"> |
3472 | 182 | <filter name="draft" string="Draft" domain="[('state','=','draft')]" help="Draft Withholding Income"/> | 191 | <filter name="draft" string="Draft" domain="[('state','=','draft')]" help="Draft Income Withholding"/> |
3473 | 183 | <filter name="confirmed" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Withholding Income"/> | 192 | <filter name="confirmed" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Income Withholding"/> |
3474 | 184 | <filter name="done" string="Done" domain="[('state','=','done')]" help="Done Withholding Income"/> | 193 | <filter name="done" string="Done" domain="[('state','=','done')]" help="Done Income Withholding"/> |
3475 | 185 | <filter name="cancel" string="Cancel" domain="[('state','=','cancel')]" help="Cancel Withholding Income"/> | 194 | <filter name="cancel" string="Cancel" domain="[('state','=','cancel')]" help="Cancel Income Withholding"/> |
3476 | 186 | </group> | 195 | </group> |
3477 | 187 | <newline/> | 196 | <newline/> |
3478 | 188 | <group expand="1" string="Group By..."> | 197 | <group expand="1" string="Group By..."> |
3479 | @@ -199,9 +208,8 @@ | |||
3480 | 199 | <record id="view_wh_islr_tree_suppliers" model="ir.ui.view"> | 208 | <record id="view_wh_islr_tree_suppliers" model="ir.ui.view"> |
3481 | 200 | <field name="name">islr.wh.doc_tree_suppliers</field> | 209 | <field name="name">islr.wh.doc_tree_suppliers</field> |
3482 | 201 | <field name="model">islr.wh.doc</field> | 210 | <field name="model">islr.wh.doc</field> |
3483 | 202 | <field name="type">tree</field> | ||
3484 | 203 | <field name="arch" type="xml"> | 211 | <field name="arch" type="xml"> |
3486 | 204 | <tree colors="blue:state=='draft'" string="Supplier Withholding Income"> | 212 | <tree colors="blue:state=='draft'" string="Supplier Income Withholding"> |
3487 | 205 | <field name="partner_id"/> | 213 | <field name="partner_id"/> |
3488 | 206 | <field name="date_ret"/> | 214 | <field name="date_ret"/> |
3489 | 207 | <field name="period_id"/> | 215 | <field name="period_id"/> |
3490 | @@ -215,49 +223,11 @@ | |||
3491 | 215 | </field> | 223 | </field> |
3492 | 216 | </record> | 224 | </record> |
3493 | 217 | 225 | ||
3494 | 218 | <record id="view_islr_line_tree" model="ir.ui.view"> | ||
3495 | 219 | <field name="name">islr.wh.doc_line_tree2</field> | ||
3496 | 220 | <field name="model">islr.wh.doc.line</field> | ||
3497 | 221 | <field name="type">tree</field> | ||
3498 | 222 | <field name="arch" type="xml"> | ||
3499 | 223 | <tree string="Lines Withholding Income" editable="bottom" > | ||
3500 | 224 | <field name="name"/> | ||
3501 | 225 | <field name="concept_id"/> | ||
3502 | 226 | <field name="retencion_islr"/> | ||
3503 | 227 | <field name="amount"/> | ||
3504 | 228 | <field name="move_id"/> | ||
3505 | 229 | </tree> | ||
3506 | 230 | </field> | ||
3507 | 231 | </record> | ||
3508 | 232 | |||
3509 | 233 | <record id="view_islr_line_form" model="ir.ui.view"> | ||
3510 | 234 | <field name="name">islr.wh.doc.line_form2</field> | ||
3511 | 235 | <field name="model">islr.wh.doc.line</field> | ||
3512 | 236 | <field name="type">form</field> | ||
3513 | 237 | <field name="arch" type="xml"> | ||
3514 | 238 | <form string="Lines Withholding Income"> | ||
3515 | 239 | <field name="concept_id" colspan='6'/> | ||
3516 | 240 | <field name="move_id" colspan='6'/> | ||
3517 | 241 | <newline/> | ||
3518 | 242 | <field name="xml_ids" nolabel="1" colspan='4'> | ||
3519 | 243 | <tree string="Detail of the Concept of Withholding Income"> | ||
3520 | 244 | <field name="rate_id"/> | ||
3521 | 245 | <field name="wh"/> | ||
3522 | 246 | <field name="porcent_rete"/> | ||
3523 | 247 | <field name="base"/> | ||
3524 | 248 | </tree> | ||
3525 | 249 | </field> | ||
3526 | 250 | </form> | ||
3527 | 251 | </field> | ||
3528 | 252 | </record> | ||
3529 | 253 | |||
3530 | 254 | |||
3531 | 255 | <record id="view_wh_islr_form_suppliers" model="ir.ui.view"> | 226 | <record id="view_wh_islr_form_suppliers" model="ir.ui.view"> |
3532 | 256 | <field name="name">islr.wh.doc_form_suppliers</field> | 227 | <field name="name">islr.wh.doc_form_suppliers</field> |
3533 | 257 | <field name="model">islr.wh.doc</field> | 228 | <field name="model">islr.wh.doc</field> |
3534 | 258 | <field name="type">form</field> | ||
3535 | 259 | <field name="arch" type="xml"> | 229 | <field name="arch" type="xml"> |
3537 | 260 | <form string="Supplier Withholding Income"> | 230 | <form string="Supplier Income Withholding"> |
3538 | 261 | <group colspan="4" col="6"> | 231 | <group colspan="4" col="6"> |
3539 | 262 | <field name="journal_id" domain="[('type','=','islr_purchase')]"/> | 232 | <field name="journal_id" domain="[('type','=','islr_purchase')]"/> |
3540 | 263 | <field name="type"/> | 233 | <field name="type"/> |
3541 | @@ -273,36 +243,60 @@ | |||
3542 | 273 | <field name="invoice_id" /> | 243 | <field name="invoice_id" /> |
3543 | 274 | </group> | 244 | </group> |
3544 | 275 | <notebook colspan="6"> | 245 | <notebook colspan="6"> |
3546 | 276 | <page string="Invoices"> | 246 | <page string="Invoices to Be Withheld"> |
3547 | 247 | <field name="invoice_ids" nolabel='1'/> | ||
3548 | 248 | </page> | ||
3549 | 249 | <page string="Invoices" invisible='1'> | ||
3550 | 277 | <field domain="[('partner_id','=',partner_id),('status','=','no_pro'),('state','in',['open','paid']),('type','in',['in_invoice','in_refund'])]" colspan="6" name="islr_wh_doc_id" nolabel="1" widget="many2many"/> | 250 | <field domain="[('partner_id','=',partner_id),('status','=','no_pro'),('state','in',['open','paid']),('type','in',['in_invoice','in_refund'])]" colspan="6" name="islr_wh_doc_id" nolabel="1" widget="many2many"/> |
3551 | 278 | </page> | 251 | </page> |
3561 | 279 | <page string="Concept of Withholding Income"> | 252 | <page string="Income Withholding Concepts"> |
3562 | 280 | <field colspan="6" name="concept_ids" nolabel="1" widget="one2many_list"/> | 253 | <field colspan="6" name="concept_ids" nolabel="1"> |
3563 | 281 | <group col="4" colspan="2"> | 254 | <tree string="Income Withholding Concepts"> |
3564 | 282 | <field name="amount_total_ret"/> | 255 | <field name="name" invisible='1'/> |
3556 | 283 | </group> | ||
3557 | 284 | </page> | ||
3558 | 285 | <page string="Invoices" invisible="1"> | ||
3559 | 286 | <field name="invoice_ids" nolabel="1"> | ||
3560 | 287 | <tree string="Invoices Withhelds"> | ||
3565 | 288 | <field name="invoice_id"/> | 256 | <field name="invoice_id"/> |
3569 | 289 | <field name="islr_xml_id"/> | 257 | <field name="concept_id"/> |
3570 | 290 | <field name="amount_islr_ret"/> | 258 | <field name="base_amount"/> |
3571 | 291 | <field name="base_ret"/> | 259 | <field name="retencion_islr"/> |
3572 | 260 | <field name="subtract"/> | ||
3573 | 261 | <field name="amount"/> | ||
3574 | 262 | <field name="move_id"/> | ||
3575 | 292 | </tree> | 263 | </tree> |
3576 | 264 | <form string="Income Withholding Concepts"> | ||
3577 | 265 | <field name="invoice_id"/> | ||
3578 | 266 | <newline/> | ||
3579 | 267 | <field name="concept_id" colspan='6'/> | ||
3580 | 268 | <newline/> | ||
3581 | 269 | <field name="xml_ids" nolabel="1" colspan='4'> | ||
3582 | 270 | <tree string="Detail of the Concept of Income Withholding"> | ||
3583 | 271 | <field name="concept_code"/> | ||
3584 | 272 | <field name="rate_id"/> | ||
3585 | 273 | <field name="wh"/> | ||
3586 | 274 | <field name="porcent_rete"/> | ||
3587 | 275 | <field name="base"/> | ||
3588 | 276 | </tree> | ||
3589 | 277 | </field> | ||
3590 | 278 | <field name="base_amount"/> | ||
3591 | 279 | <field name="subtract"/> | ||
3592 | 280 | <field name="retencion_islr"/> | ||
3593 | 281 | <field name="amount"/> | ||
3594 | 282 | <field name="move_id" colspan='6'/> | ||
3595 | 283 | </form> | ||
3596 | 293 | </field> | 284 | </field> |
3597 | 294 | </page> | 285 | </page> |
3598 | 295 | <page string="Other Information"> | 286 | <page string="Other Information"> |
3599 | 296 | <field name="company_id"/> | 287 | <field name="company_id"/> |
3600 | 297 | </page> | 288 | </page> |
3601 | 298 | </notebook> | 289 | </notebook> |
3602 | 290 | <group col="4" colspan="2"> | ||
3603 | 291 | <field name="amount_total_ret"/> | ||
3604 | 292 | <button colspan="2" name="compute_amount_wh" string="Compute Income Withholding" type="object" icon="terp-stock_format-scientific"/> | ||
3605 | 293 | </group> | ||
3606 | 299 | <group colspan="6" col="2"> | 294 | <group colspan="6" col="2"> |
3607 | 300 | <group col="1"> | 295 | <group col="1"> |
3608 | 301 | <field name="state"/> | 296 | <field name="state"/> |
3611 | 302 | <button name="act_progress" string="Progress" states="draft" type="workflow" icon="gtk-go-forward"/> | 297 | <button name="act_confirm" string="Confirm" states="draft" type="workflow" icon="gtk-go-forward"/> |
3610 | 303 | <button name="act_confirmed" string="Confirmed" states="progress" type="workflow" icon="gtk-go-forward"/> | ||
3612 | 304 | <button name="act_done" string="Done" states="confirmed" type="workflow" icon="gtk-go-forward"/> | 298 | <button name="act_done" string="Done" states="confirmed" type="workflow" icon="gtk-go-forward"/> |
3614 | 305 | <button name="%(voucher_report_withholding_islr)d" string="Print Withholding Income" colspan="3" states="done" type="action" icon="gtk-execute"/> | 299 | <button name="%(voucher_report_withholding_islr)d" string="Print Income Withholding" colspan="3" states="done" type="action" icon="gtk-execute"/> |
3615 | 306 | <button name="act_cancel" string="Cancel" states="draft,progress,confirmed,done" type="workflow" icon="gtk-go-forward"/> | 300 | <button name="act_cancel" string="Cancel" states="draft,progress,confirmed,done" type="workflow" icon="gtk-go-forward"/> |
3616 | 307 | <button name="act_draft" colspan="2" string="Set to draft" states="cancel" type="workflow" icon="gtk-go-forward"/> | 301 | <button name="act_draft" colspan="2" string="Set to draft" states="cancel" type="workflow" icon="gtk-go-forward"/> |
3617 | 308 | </group> | 302 | </group> |
3618 | @@ -313,7 +307,7 @@ | |||
3619 | 313 | 307 | ||
3620 | 314 | 308 | ||
3621 | 315 | <record model="ir.actions.act_window" id="action_wh_islr_customer"> | 309 | <record model="ir.actions.act_window" id="action_wh_islr_customer"> |
3623 | 316 | <field name="name">Customer Withholding Income</field> | 310 | <field name="name">Customer Income Withholding</field> |
3624 | 317 | <field name="res_model">islr.wh.doc</field> | 311 | <field name="res_model">islr.wh.doc</field> |
3625 | 318 | <field name="type">ir.actions.act_window</field> | 312 | <field name="type">ir.actions.act_window</field> |
3626 | 319 | <field name="view_type">form</field> | 313 | <field name="view_type">form</field> |
3627 | @@ -338,12 +332,12 @@ | |||
3628 | 338 | 332 | ||
3629 | 339 | <menuitem | 333 | <menuitem |
3630 | 340 | id="menu_action_wh_islr_customer" | 334 | id="menu_action_wh_islr_customer" |
3632 | 341 | name="Customer Withholding Income" | 335 | name="Customer Income Withholding" |
3633 | 342 | parent="account.menu_finance_receivables" | 336 | parent="account.menu_finance_receivables" |
3634 | 343 | action="action_wh_islr_customer"/> | 337 | action="action_wh_islr_customer"/> |
3635 | 344 | 338 | ||
3636 | 345 | <record model="ir.actions.act_window" id="action_wh_islr_supplier"> | 339 | <record model="ir.actions.act_window" id="action_wh_islr_supplier"> |
3638 | 346 | <field name="name">Supplier Withholding Income</field> | 340 | <field name="name">Supplier Income Withholding</field> |
3639 | 347 | <field name="res_model">islr.wh.doc</field> | 341 | <field name="res_model">islr.wh.doc</field> |
3640 | 348 | <field name="type">ir.actions.act_window</field> | 342 | <field name="type">ir.actions.act_window</field> |
3641 | 349 | <field name="view_type">form</field> | 343 | <field name="view_type">form</field> |
3642 | @@ -351,7 +345,7 @@ | |||
3643 | 351 | <field name="domain">[('type','=','in_invoice')]</field> | 345 | <field name="domain">[('type','=','in_invoice')]</field> |
3644 | 352 | <field name="context">{'type':'in_invoice', 'search_default_draft': 1}</field> | 346 | <field name="context">{'type':'in_invoice', 'search_default_draft': 1}</field> |
3645 | 353 | <field name="search_view_id" ref="view_wh_islr_filter_suppliers"/> | 347 | <field name="search_view_id" ref="view_wh_islr_filter_suppliers"/> |
3647 | 354 | <field name="help">With Supplier Withholding you can manage document withholding issued to your suppliers. OpenERP can Just generate document withholding for purchase process automatically from invoices. To generate the withholding income and all accounting process you must confirm and validate the document withholding.</field> | 348 | <field name="help">With Supplier Withholding you can manage document withholding issued to your suppliers. OpenERP can Just generate document withholding for purchase process automatically from invoices. To generate the Income Withholding and all accounting process you must confirm and validate the document withholding.</field> |
3648 | 355 | 349 | ||
3649 | 356 | </record> | 350 | </record> |
3650 | 357 | <record model="ir.actions.act_window.view" id="action_wh_islr_tree"> | 351 | <record model="ir.actions.act_window.view" id="action_wh_islr_tree"> |
3651 | @@ -369,7 +363,7 @@ | |||
3652 | 369 | 363 | ||
3653 | 370 | <menuitem | 364 | <menuitem |
3654 | 371 | id="menu_action_wh_islr_supplier" | 365 | id="menu_action_wh_islr_supplier" |
3656 | 372 | name="Supplier Withholding Income" | 366 | name="Supplier Income Withholding" |
3657 | 373 | parent="account.menu_finance_payables" | 367 | parent="account.menu_finance_payables" |
3658 | 374 | action="action_wh_islr_supplier"/> | 368 | action="action_wh_islr_supplier"/> |
3659 | 375 | 369 | ||
3660 | 376 | 370 | ||
3661 | === modified file 'l10n_ve_withholding_islr/view/islr_xml_wh.xml' | |||
3662 | --- l10n_ve_withholding_islr/view/islr_xml_wh.xml 2012-12-17 23:45:56 +0000 | |||
3663 | +++ l10n_ve_withholding_islr/view/islr_xml_wh.xml 2013-01-14 19:15:27 +0000 | |||
3664 | @@ -11,7 +11,6 @@ | |||
3665 | 11 | <record id="view_xml_islr_line_form" model="ir.ui.view"> | 11 | <record id="view_xml_islr_line_form" model="ir.ui.view"> |
3666 | 12 | <field name="name">islr.xml.wh.line_form</field> | 12 | <field name="name">islr.xml.wh.line_form</field> |
3667 | 13 | <field name="model">islr.xml.wh.line</field> | 13 | <field name="model">islr.xml.wh.line</field> |
3668 | 14 | <field name="type">form</field> | ||
3669 | 15 | <field name="arch" type="xml"> | 14 | <field name="arch" type="xml"> |
3670 | 16 | <form string="Export in XML data"> | 15 | <form string="Export in XML data"> |
3671 | 17 | <newline/> | 16 | <newline/> |
3672 | @@ -22,7 +21,7 @@ | |||
3673 | 22 | <field name="partner_vat"/> | 21 | <field name="partner_vat"/> |
3674 | 23 | </group> | 22 | </group> |
3675 | 24 | <newline/> | 23 | <newline/> |
3677 | 25 | <separator string="Concept of Withholding Income" colspan="6"/> | 24 | <separator string="Concept of Income Withholding" colspan="6"/> |
3678 | 26 | <newline/> | 25 | <newline/> |
3679 | 27 | <group col="4" colspan="4"> | 26 | <group col="4" colspan="4"> |
3680 | 28 | <field name="concept_id" colspan="4" /> | 27 | <field name="concept_id" colspan="4" /> |
3681 | @@ -54,7 +53,6 @@ | |||
3682 | 54 | <record id="view_xml_islr_tree" model="ir.ui.view"> | 53 | <record id="view_xml_islr_tree" model="ir.ui.view"> |
3683 | 55 | <field name="name">islr.xml.wh.doc_tree</field> | 54 | <field name="name">islr.xml.wh.doc_tree</field> |
3684 | 56 | <field name="model">islr.xml.wh.doc</field> | 55 | <field name="model">islr.xml.wh.doc</field> |
3685 | 57 | <field name="type">tree</field> | ||
3686 | 58 | <field name="arch" type="xml"> | 56 | <field name="arch" type="xml"> |
3687 | 59 | <tree string="Lines Withholding for XML" > | 57 | <tree string="Lines Withholding for XML" > |
3688 | 60 | <field name="name"/> | 58 | <field name="name"/> |
3689 | @@ -67,7 +65,6 @@ | |||
3690 | 67 | <record id="view_xml_islr_form" model="ir.ui.view"> | 65 | <record id="view_xml_islr_form" model="ir.ui.view"> |
3691 | 68 | <field name="name">islr.xml.wh.doc_form</field> | 66 | <field name="name">islr.xml.wh.doc_form</field> |
3692 | 69 | <field name="model">islr.xml.wh.doc</field> | 67 | <field name="model">islr.xml.wh.doc</field> |
3693 | 70 | <field name="type">form</field> | ||
3694 | 71 | <field name="arch" type="xml"> | 68 | <field name="arch" type="xml"> |
3695 | 72 | <form string="Lines Withholding for XML"> | 69 | <form string="Lines Withholding for XML"> |
3696 | 73 | <field name="name"/> | 70 | <field name="name"/> |
3697 | @@ -107,7 +104,6 @@ | |||
3698 | 107 | <record id="view_generate_xml_filter" model="ir.ui.view"> | 104 | <record id="view_generate_xml_filter" model="ir.ui.view"> |
3699 | 108 | <field name="name">islr.xml.wh.doc.search</field> | 105 | <field name="name">islr.xml.wh.doc.search</field> |
3700 | 109 | <field name="model">islr.xml.wh.doc</field> | 106 | <field name="model">islr.xml.wh.doc</field> |
3701 | 110 | <field name="type">search</field> | ||
3702 | 111 | <field name="arch" type="xml"> | 107 | <field name="arch" type="xml"> |
3703 | 112 | <search string="Search File XML"> | 108 | <search string="Search File XML"> |
3704 | 113 | <group col="10" colspan="4"> | 109 | <group col="10" colspan="4"> |
3705 | @@ -118,7 +114,7 @@ | |||
3706 | 118 | <separator orientation="vertical"/> | 114 | <separator orientation="vertical"/> |
3707 | 119 | <field name="company_id"/> | 115 | <field name="company_id"/> |
3708 | 120 | <field name="user_id" select="1" widget="selection" string="Salesman"> | 116 | <field name="user_id" select="1" widget="selection" string="Salesman"> |
3710 | 121 | <filter domain="[('user_id','=',uid)]" help="My Withholding Income" icon="terp-personal" separator="1"/> | 117 | <filter domain="[('user_id','=',uid)]" help="My Income Withholding" icon="terp-personal" separator="1"/> |
3711 | 122 | </field> | 118 | </field> |
3712 | 123 | </group> | 119 | </group> |
3713 | 124 | <newline/> | 120 | <newline/> |
3714 | 125 | 121 | ||
3715 | === modified file 'l10n_ve_withholding_islr/view/partner_view.xml' | |||
3716 | --- l10n_ve_withholding_islr/view/partner_view.xml 2012-10-02 18:30:33 +0000 | |||
3717 | +++ l10n_ve_withholding_islr/view/partner_view.xml 2013-01-14 19:15:27 +0000 | |||
3718 | @@ -11,7 +11,6 @@ | |||
3719 | 11 | <record id="res_partner_wh_islr" model="ir.ui.view"> | 11 | <record id="res_partner_wh_islr" model="ir.ui.view"> |
3720 | 12 | <field name="name">res.partner.wh.islr</field> | 12 | <field name="name">res.partner.wh.islr</field> |
3721 | 13 | <field name="model">res.partner</field> | 13 | <field name="model">res.partner</field> |
3722 | 14 | <field name="type">form</field> | ||
3723 | 15 | <field name="inherit_id" ref="l10n_ve_withholding.wh_partner"/> | 14 | <field name="inherit_id" ref="l10n_ve_withholding.wh_partner"/> |
3724 | 16 | <field name="arch" type="xml"> | 15 | <field name="arch" type="xml"> |
3725 | 17 | <xpath expr="//separator[@string='vsep']" position="after"> | 16 | <xpath expr="//separator[@string='vsep']" position="after"> |
3726 | 18 | 17 | ||
3727 | === modified file 'l10n_ve_withholding_islr/view/product_view.xml' | |||
3728 | --- l10n_ve_withholding_islr/view/product_view.xml 2012-11-07 21:33:58 +0000 | |||
3729 | +++ l10n_ve_withholding_islr/view/product_view.xml 2013-01-14 19:15:27 +0000 | |||
3730 | @@ -5,12 +5,11 @@ | |||
3731 | 5 | <record model="ir.ui.view" id="view_product_product_islr"> | 5 | <record model="ir.ui.view" id="view_product_product_islr"> |
3732 | 6 | <field name="name">product.product.form.islr</field> | 6 | <field name="name">product.product.form.islr</field> |
3733 | 7 | <field name="model">product.product</field> | 7 | <field name="model">product.product</field> |
3734 | 8 | <field name="type">form</field> | ||
3735 | 9 | <field name="inherit_id" ref="account.product_normal_form_view"/> | 8 | <field name="inherit_id" ref="account.product_normal_form_view"/> |
3736 | 10 | <field name="arch" type="xml"> | 9 | <field name="arch" type="xml"> |
3737 | 11 | <xpath expr="//group[@name='properties']" position="after"> | 10 | <xpath expr="//group[@name='properties']" position="after"> |
3738 | 12 | <newline/> | 11 | <newline/> |
3740 | 13 | <separator string="Concept of Withholding Income"/> | 12 | <separator string="Concept of Income Withholding"/> |
3741 | 14 | <newline/> | 13 | <newline/> |
3742 | 15 | <group col='6' colspan='6' > | 14 | <group col='6' colspan='6' > |
3743 | 16 | <field name="concept_id"/> | 15 | <field name="concept_id"/> |
3744 | @@ -30,7 +29,6 @@ | |||
3745 | 30 | <record id="product_normal_form_view_type" model="ir.ui.view"> | 29 | <record id="product_normal_form_view_type" model="ir.ui.view"> |
3746 | 31 | <field name="name">product.normal.form.type</field> | 30 | <field name="name">product.normal.form.type</field> |
3747 | 32 | <field name="model">product.product</field> | 31 | <field name="model">product.product</field> |
3748 | 33 | <field name="type">form</field> | ||
3749 | 34 | <field name="inherit_id" ref="product.product_normal_form_view"/> | 32 | <field name="inherit_id" ref="product.product_normal_form_view"/> |
3750 | 35 | <field name="arch" type="xml"> | 33 | <field name="arch" type="xml"> |
3751 | 36 | <xpath expr="//field[@name='type']" position="replace"> | 34 | <xpath expr="//field[@name='type']" position="replace"> |
3752 | 37 | 35 | ||
3753 | === modified file 'l10n_ve_withholding_islr/view/wh_islr_view.xml' | |||
3754 | --- l10n_ve_withholding_islr/view/wh_islr_view.xml 2011-10-25 20:33:16 +0000 | |||
3755 | +++ l10n_ve_withholding_islr/view/wh_islr_view.xml 2013-01-14 19:15:27 +0000 | |||
3756 | @@ -2,7 +2,7 @@ | |||
3757 | 2 | <openerp> | 2 | <openerp> |
3758 | 3 | <data> | 3 | <data> |
3759 | 4 | 4 | ||
3761 | 5 | <menuitem id="menu_wh_configuration_islr" name="Withholding Income" parent="l10n_ve_withholding.menu_wh_configuration"/> | 5 | <menuitem id="menu_wh_configuration_islr" name="Income Withholding" parent="l10n_ve_withholding.menu_wh_configuration"/> |
3762 | 6 | 6 | ||
3763 | 7 | </data> | 7 | </data> |
3764 | 8 | </openerp> | 8 | </openerp> |
3765 | 9 | 9 | ||
3766 | === modified file 'l10n_ve_withholding_islr/workflow/account_workflow.xml' | |||
3767 | --- l10n_ve_withholding_islr/workflow/account_workflow.xml 2012-12-18 13:37:25 +0000 | |||
3768 | +++ l10n_ve_withholding_islr/workflow/account_workflow.xml 2013-01-14 19:15:27 +0000 | |||
3769 | @@ -15,7 +15,7 @@ | |||
3770 | 15 | <field name="name">Withholding Islr</field> | 15 | <field name="name">Withholding Islr</field> |
3771 | 16 | <field name="kind">subflow</field> | 16 | <field name="kind">subflow</field> |
3772 | 17 | <field name="subflow_id" ref="wh_islr_order"/> | 17 | <field name="subflow_id" ref="wh_islr_order"/> |
3774 | 18 | <field name="action">action_ret_islr()</field> | 18 | <field name="action">_create_islr_wh_doc()</field> |
3775 | 19 | </record> | 19 | </record> |
3776 | 20 | 20 | ||
3777 | 21 | <record id="act_islr_router" model="workflow.activity"> | 21 | <record id="act_islr_router" model="workflow.activity"> |
3778 | @@ -39,8 +39,8 @@ | |||
3779 | 39 | --> | 39 | --> |
3780 | 40 | <record id="trans_wh_router_wh_islr" model="workflow.transition"> | 40 | <record id="trans_wh_router_wh_islr" model="workflow.transition"> |
3781 | 41 | <field name="act_from" ref="l10n_ve_withholding.act_wh_router"/> | 41 | <field name="act_from" ref="l10n_ve_withholding.act_wh_router"/> |
3784 | 42 | <field name="act_to" ref="act_islr_router"/> | 42 | <field name="act_to" ref="act_withold_islr"/> |
3785 | 43 | <field name="condition">check_invoice_type()</field> | 43 | <field name="condition">check_invoice_type() and check_withholdable_concept()</field> |
3786 | 44 | <field name="signal"></field> | 44 | <field name="signal"></field> |
3787 | 45 | </record> | 45 | </record> |
3788 | 46 | 46 | ||
3789 | 47 | 47 | ||
3790 | === modified file 'l10n_ve_withholding_islr/workflow/islr_wh_workflow.xml' | |||
3791 | --- l10n_ve_withholding_islr/workflow/islr_wh_workflow.xml 2012-05-04 14:44:55 +0000 | |||
3792 | +++ l10n_ve_withholding_islr/workflow/islr_wh_workflow.xml 2013-01-14 19:15:27 +0000 | |||
3793 | @@ -24,8 +24,7 @@ | |||
3794 | 24 | 24 | ||
3795 | 25 | <record id="act_confirmed" model="workflow.activity"> | 25 | <record id="act_confirmed" model="workflow.activity"> |
3796 | 26 | <field name="wkf_id" ref="wh_islr_order"/> | 26 | <field name="wkf_id" ref="wh_islr_order"/> |
3799 | 27 | <field name="action">action_number() | 27 | <field name="action">action_confirm()</field> |
3798 | 28 | write({'state':'confirmed'})</field> | ||
3800 | 29 | <field name="kind">function</field> | 28 | <field name="kind">function</field> |
3801 | 30 | <field name="name">confirmed</field> | 29 | <field name="name">confirmed</field> |
3802 | 31 | </record> | 30 | </record> |
3803 | @@ -34,7 +33,8 @@ | |||
3804 | 34 | <field name="wkf_id" ref="wh_islr_order"/> | 33 | <field name="wkf_id" ref="wh_islr_order"/> |
3805 | 35 | <field name="kind">function</field> | 34 | <field name="kind">function</field> |
3806 | 36 | <field name="name">done</field> | 35 | <field name="name">done</field> |
3808 | 37 | <field name="action">action_move_create() | 36 | <field name="action">action_number() |
3809 | 37 | action_move_create() | ||
3810 | 38 | write({'state':'done'})</field> | 38 | write({'state':'done'})</field> |
3811 | 39 | </record> | 39 | </record> |
3812 | 40 | 40 | ||
3813 | @@ -63,7 +63,8 @@ | |||
3814 | 63 | <record id="trans_draft_confirmed" model="workflow.transition"> | 63 | <record id="trans_draft_confirmed" model="workflow.transition"> |
3815 | 64 | <field name="act_from" ref="act_draft"/> | 64 | <field name="act_from" ref="act_draft"/> |
3816 | 65 | <field name="act_to" ref="act_confirmed"/> | 65 | <field name="act_to" ref="act_confirmed"/> |
3818 | 66 | <field name="condition">validate(type,concept_ids,invoice_ids)</field> | 66 | <field name="condition">check_income_wh()</field> |
3819 | 67 | <field name="signal">act_confirm</field> | ||
3820 | 67 | </record> | 68 | </record> |
3821 | 68 | 69 | ||
3822 | 69 | <record id="trans_draft_progress" model="workflow.transition"> | 70 | <record id="trans_draft_progress" model="workflow.transition"> |
3823 | @@ -82,7 +83,8 @@ | |||
3824 | 82 | <record id="trans_progress_confirmed" model="workflow.transition"> | 83 | <record id="trans_progress_confirmed" model="workflow.transition"> |
3825 | 83 | <field name="act_from" ref="act_progress"/> | 84 | <field name="act_from" ref="act_progress"/> |
3826 | 84 | <field name="act_to" ref="act_confirmed"/> | 85 | <field name="act_to" ref="act_confirmed"/> |
3828 | 85 | <field name="signal">act_confirmed</field> | 86 | <field name="condition">True</field> |
3829 | 87 | <field name="signal"></field> | ||
3830 | 86 | </record> | 88 | </record> |
3831 | 87 | 89 | ||
3832 | 88 | <record id="trans_confirmed_cancel" model="workflow.transition"> | 90 | <record id="trans_confirmed_cancel" model="workflow.transition"> |
3833 | 89 | 91 | ||
3834 | === modified file 'l10n_ve_withholding_iva/model/__init__.py' | |||
3835 | --- l10n_ve_withholding_iva/model/__init__.py 2012-11-07 21:33:58 +0000 | |||
3836 | +++ l10n_ve_withholding_iva/model/__init__.py 2013-01-14 19:15:27 +0000 | |||
3837 | @@ -29,6 +29,5 @@ | |||
3838 | 29 | import generate_txt | 29 | import generate_txt |
3839 | 30 | import report | 30 | import report |
3840 | 31 | import installer | 31 | import installer |
3841 | 32 | import wizard | ||
3842 | 33 | 32 | ||
3843 | 34 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: | 33 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
3844 | 35 | 34 | ||
3845 | === modified file 'l10n_ve_withholding_src/__init__.py' | |||
3846 | --- l10n_ve_withholding_src/__init__.py 2012-02-20 20:11:16 +0000 | |||
3847 | +++ l10n_ve_withholding_src/__init__.py 2013-01-14 19:15:27 +0000 | |||
3848 | @@ -24,4 +24,6 @@ | |||
3849 | 24 | ################################################################################ | 24 | ################################################################################ |
3850 | 25 | 25 | ||
3851 | 26 | import model | 26 | import model |
3852 | 27 | import wizard | ||
3853 | 27 | import report | 28 | import report |
3854 | 29 | |||
3855 | 28 | 30 | ||
3856 | === modified file 'l10n_ve_withholding_src/__openerp__.py' | |||
3857 | --- l10n_ve_withholding_src/__openerp__.py 2012-08-22 22:56:20 +0000 | |||
3858 | +++ l10n_ve_withholding_src/__openerp__.py 2013-01-14 19:15:27 +0000 | |||
3859 | @@ -54,12 +54,15 @@ | |||
3860 | 54 | "update_xml" : [ | 54 | "update_xml" : [ |
3861 | 55 | 'security/wh_src_security.xml', | 55 | 'security/wh_src_security.xml', |
3862 | 56 | 'security/ir.model.access.csv', | 56 | 'security/ir.model.access.csv', |
3863 | 57 | 'wizard/wizard_retention_view.xml', | ||
3864 | 57 | 'view/wh_src_view.xml', | 58 | 'view/wh_src_view.xml', |
3865 | 58 | 'view/account_invoice_view.xml', | 59 | 'view/account_invoice_view.xml', |
3866 | 59 | 'view/company_view.xml', | 60 | 'view/company_view.xml', |
3867 | 61 | 'view/partner_view.xml', | ||
3868 | 60 | 'workflow/l10n_ve_wh_src_wf.xml', | 62 | 'workflow/l10n_ve_wh_src_wf.xml', |
3869 | 61 | 'data/data.xml', | 63 | 'data/data.xml', |
3871 | 62 | 'wh_src_report.xml', | 64 | 'report/wh_src_report.xml', |
3872 | 65 | |||
3873 | 63 | ], | 66 | ], |
3874 | 64 | "active": False, | 67 | "active": False, |
3875 | 65 | "installable": True | 68 | "installable": True |
3876 | 66 | 69 | ||
3877 | === modified file 'l10n_ve_withholding_src/data/data.xml' | |||
3878 | --- l10n_ve_withholding_src/data/data.xml 2012-09-11 00:38:30 +0000 | |||
3879 | +++ l10n_ve_withholding_src/data/data.xml 2013-01-14 19:15:27 +0000 | |||
3880 | @@ -2,17 +2,32 @@ | |||
3881 | 2 | <openerp> | 2 | <openerp> |
3882 | 3 | <data noupdate="1"> | 3 | <data noupdate="1"> |
3883 | 4 | 4 | ||
3884 | 5 | <!-- Sequence types for account.wh.src --> | ||
3885 | 5 | <record id="seq_type_account_wh_iva" model="ir.sequence.type"> | 6 | <record id="seq_type_account_wh_iva" model="ir.sequence.type"> |
3886 | 6 | <field name="name">Withholding src costumer</field> | 7 | <field name="name">Withholding src costumer</field> |
3887 | 7 | <field name="code">wh.src.out</field> | 8 | <field name="code">wh.src.out</field> |
3888 | 8 | </record> | 9 | </record> |
3889 | 9 | 10 | ||
3890 | 10 | <record id="seq_type_account_wh_iva_purchase" model="ir.sequence.type"> | 11 | <record id="seq_type_account_wh_iva_purchase" model="ir.sequence.type"> |
3892 | 11 | <field name="name">Withholding src supplier</field> | 12 | <field name="name">Withholding src supplier</field> |
3893 | 12 | <field name="code">wh.src.in</field> | 13 | <field name="code">wh.src.in</field> |
3894 | 13 | </record> | 14 | </record> |
3897 | 14 | 15 | ||
3898 | 15 | <record id="seq_type_account_wh_src_supplier" model="ir.sequence"> | 16 | <record id="seq_type_account_wh_src_supplier" model="ir.sequence.type"> |
3899 | 17 | <field name="name">Withholding local.supplier</field> | ||
3900 | 18 | <field name="code">account.wh.src.in_invoice</field> | ||
3901 | 19 | </record> | ||
3902 | 20 | |||
3903 | 21 | <!-- Sequences for account.wh.src --> | ||
3904 | 22 | <record id="seq_account_retencion_src_customer" model="ir.sequence"> | ||
3905 | 23 | <field name="name">Withholding local customer</field> | ||
3906 | 24 | <field name="code">account.wh.src.in_invoice</field> | ||
3907 | 25 | <field name="prefix">RET-SRC</field> | ||
3908 | 26 | <field name="padding">8</field> | ||
3909 | 27 | <field name="number_increment">1</field> | ||
3910 | 28 | </record> | ||
3911 | 29 | |||
3912 | 30 | <record id="seq_account_wh_src_supplier" model="ir.sequence"> | ||
3913 | 16 | <field name="name">Withholding src</field> | 31 | <field name="name">Withholding src</field> |
3914 | 17 | <field name="code">wh.src.out</field> | 32 | <field name="code">wh.src.out</field> |
3915 | 18 | <field name="prefix">src:</field> | 33 | <field name="prefix">src:</field> |
3916 | @@ -20,48 +35,28 @@ | |||
3917 | 20 | <field name="number_increment">1</field> | 35 | <field name="number_increment">1</field> |
3918 | 21 | </record> | 36 | </record> |
3919 | 22 | 37 | ||
3921 | 23 | <record id="seq_account_retencion_src_customer" model="ir.sequence"> | 38 | <record id="seq_account_retencion_src_purchase" model="ir.sequence"> |
3922 | 24 | <field name="name">Withholding src purchase</field> | 39 | <field name="name">Withholding src purchase</field> |
3923 | 25 | <field name="code">wh.src.in</field> | 40 | <field name="code">wh.src.in</field> |
3924 | 26 | <field name="prefix">%(year)s-%(month)s-</field> | 41 | <field name="prefix">%(year)s-%(month)s-</field> |
3925 | 27 | <field name="padding">8</field> | 42 | <field name="padding">8</field> |
3926 | 28 | <field name="number_increment">1</field> | 43 | <field name="number_increment">1</field> |
3927 | 29 | </record> | 44 | </record> |
3928 | 45 | |||
3929 | 46 | <!-- Journals for account.wh.src --> | ||
3930 | 30 | <record id="withholding_scr_purchase_journal" model="account.journal"> | 47 | <record id="withholding_scr_purchase_journal" model="account.journal"> |
3931 | 31 | <field name="name">DIARIO DE SRC PARA PROVEEDORES</field> | 48 | <field name="name">DIARIO DE SRC PARA PROVEEDORES</field> |
3932 | 32 | <field name="code">srcP</field> | 49 | <field name="code">srcP</field> |
3933 | 33 | <field name="type">src_purchase</field> | 50 | <field name="type">src_purchase</field> |
3936 | 34 | <field name="view_id" ref="account.account_journal_view"/> | 51 | <field name="sequence_id" ref="seq_account_wh_src_supplier"/> |
3935 | 35 | <field name="sequence_id" ref="seq_type_account_wh_src_supplier"/> | ||
3937 | 36 | </record> | 52 | </record> |
3938 | 37 | 53 | ||
3939 | 38 | <record id="withholding_src_sale_journal" model="account.journal"> | 54 | <record id="withholding_src_sale_journal" model="account.journal"> |
3940 | 39 | <field name="name">DIARIO DE SRC PARA CLIENTES</field> | 55 | <field name="name">DIARIO DE SRC PARA CLIENTES</field> |
3941 | 40 | <field name="code">srcC</field> | 56 | <field name="code">srcC</field> |
3942 | 41 | <field name="type">src_sale</field> | 57 | <field name="type">src_sale</field> |
3943 | 42 | <field name="view_id" ref="account.account_journal_view"/> | ||
3944 | 43 | <field name="sequence_id" ref="seq_account_retencion_src_customer"/> | 58 | <field name="sequence_id" ref="seq_account_retencion_src_customer"/> |
3945 | 44 | </record> | 59 | </record> |
3946 | 45 | |||
3947 | 46 | <!-- Sequences type for account.wh.src --> | ||
3948 | 47 | |||
3949 | 48 | |||
3950 | 49 | <record id="seq_type_account_wh_src_supplier" model="ir.sequence.type"> | ||
3951 | 50 | <field name="name">Withholding local.supplier</field> | ||
3952 | 51 | <field name="code">account.wh.src.in_invoice</field> | ||
3953 | 52 | </record> | ||
3954 | 53 | |||
3955 | 54 | <!-- Sequences for account.wh.src --> | ||
3956 | 55 | |||
3957 | 56 | |||
3958 | 57 | <record id="seq_account_retencion_src_customer" model="ir.sequence"> | ||
3959 | 58 | <field name="name">Withholding local customer</field> | ||
3960 | 59 | <field name="code">account.wh.src.in_invoice</field> | ||
3961 | 60 | <field name="prefix">RET-SRC</field> | ||
3962 | 61 | <field name="padding">8</field> | ||
3963 | 62 | <field name="number_increment">1</field> | ||
3964 | 63 | </record> | ||
3965 | 64 | |||
3966 | 65 | 60 | ||
3967 | 66 | </data> | 61 | </data> |
3968 | 67 | </openerp> | 62 | </openerp> |
3969 | 68 | 63 | ||
3970 | === modified file 'l10n_ve_withholding_src/model/__init__.py' | |||
3971 | --- l10n_ve_withholding_src/model/__init__.py 2012-01-27 05:37:46 +0000 | |||
3972 | +++ l10n_ve_withholding_src/model/__init__.py 2013-01-14 19:15:27 +0000 | |||
3973 | @@ -26,4 +26,5 @@ | |||
3974 | 26 | import wh_src | 26 | import wh_src |
3975 | 27 | import invoice | 27 | import invoice |
3976 | 28 | import res_company | 28 | import res_company |
3977 | 29 | import partner | ||
3978 | 29 | 30 | ||
3979 | 30 | 31 | ||
3980 | === modified file 'l10n_ve_withholding_src/model/invoice.py' | |||
3981 | --- l10n_ve_withholding_src/model/invoice.py 2012-01-27 05:37:46 +0000 | |||
3982 | +++ l10n_ve_withholding_src/model/invoice.py 2013-01-14 19:15:27 +0000 | |||
3983 | @@ -30,6 +30,23 @@ | |||
3984 | 30 | 30 | ||
3985 | 31 | class account_invoice(osv.osv): | 31 | class account_invoice(osv.osv): |
3986 | 32 | _inherit = 'account.invoice' | 32 | _inherit = 'account.invoice' |
3987 | 33 | |||
3988 | 34 | def onchange_partner_id(self, cr, uid, ids, type, partner_id,\ | ||
3989 | 35 | date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False): | ||
3990 | 36 | |||
3991 | 37 | p = self.pool.get('res.partner').browse(cr, uid, partner_id) | ||
3992 | 38 | c = self.pool.get('res.partner').browse(cr, uid, uid) | ||
3993 | 39 | res = super(account_invoice,self).onchange_partner_id(cr, uid, ids, type, \ | ||
3994 | 40 | partner_id, date_invoice,payment_term,partner_bank_id,company_id) | ||
3995 | 41 | |||
3996 | 42 | if p.wh_src_agent and type in ('out_invoice') and not p.supplier: | ||
3997 | 43 | res['value']['wh_src_rate'] = p.wh_src_rate | ||
3998 | 44 | elif c.wh_src_agent and type in ('in_invoice') and p.supplier: | ||
3999 | 45 | res['value']['wh_src_rate'] = c.wh_src_rate | ||
4000 | 46 | else: | ||
4001 | 47 | res['value']['wh_src_rate'] = 0 | ||
4002 | 48 | |||
4003 | 49 | return res | ||
4004 | 33 | 50 | ||
4005 | 34 | def _retenida(self, cr, uid, ids, name, args, context): | 51 | def _retenida(self, cr, uid, ids, name, args, context): |
4006 | 35 | res = {} | 52 | res = {} |
4007 | @@ -66,6 +83,20 @@ | |||
4008 | 66 | invoice_ids = self.pool.get('account.invoice').search(cr, uid, [('move_id','in',move.keys())], context=context) | 83 | invoice_ids = self.pool.get('account.invoice').search(cr, uid, [('move_id','in',move.keys())], context=context) |
4009 | 67 | return invoice_ids | 84 | return invoice_ids |
4010 | 68 | 85 | ||
4011 | 86 | def _check_retention(self, cr, uid, ids, context=None): | ||
4012 | 87 | '''This method will check the retention value will be maximum 5% | ||
4013 | 88 | ''' | ||
4014 | 89 | if context is None: context = {} | ||
4015 | 90 | |||
4016 | 91 | invoice_brw = self.browse(cr, uid,ids) | ||
4017 | 92 | |||
4018 | 93 | ret = invoice_brw[0].wh_src_rate | ||
4019 | 94 | |||
4020 | 95 | if ret and ret > 5: | ||
4021 | 96 | return False | ||
4022 | 97 | |||
4023 | 98 | return True | ||
4024 | 99 | |||
4025 | 69 | _columns = { | 100 | _columns = { |
4026 | 70 | 'wh_src': fields.boolean('Social Responsibility Commitment Withheld'), | 101 | 'wh_src': fields.boolean('Social Responsibility Commitment Withheld'), |
4027 | 71 | 'wh_src_rate': fields.float('SRC Wh rate', digits_compute= dp.get_precision('Withhold'), readonly=True, states={'draft':[('readonly',False)]}, help="Social Responsibility Commitment Withholding Rate"), | 102 | 'wh_src_rate': fields.float('SRC Wh rate', digits_compute= dp.get_precision('Withhold'), readonly=True, states={'draft':[('readonly',False)]}, help="Social Responsibility Commitment Withholding Rate"), |
4028 | @@ -75,6 +106,10 @@ | |||
4029 | 75 | 'wh_src': False, | 106 | 'wh_src': False, |
4030 | 76 | } | 107 | } |
4031 | 77 | 108 | ||
4032 | 109 | _constraints = [ | ||
4033 | 110 | (_check_retention, _("Error ! Maximum retention is 5%"), []), | ||
4034 | 111 | ] | ||
4035 | 112 | |||
4036 | 78 | def _get_move_lines(self, cr, uid, ids, to_wh, period_id, | 113 | def _get_move_lines(self, cr, uid, ids, to_wh, period_id, |
4037 | 79 | pay_journal_id, writeoff_acc_id, | 114 | pay_journal_id, writeoff_acc_id, |
4038 | 80 | writeoff_period_id, writeoff_journal_id, date, | 115 | writeoff_period_id, writeoff_journal_id, date, |
4039 | @@ -84,7 +119,7 @@ | |||
4040 | 84 | pay_journal_id, writeoff_acc_id, | 119 | pay_journal_id, writeoff_acc_id, |
4041 | 85 | writeoff_period_id, writeoff_journal_id, date, | 120 | writeoff_period_id, writeoff_journal_id, date, |
4042 | 86 | name, context=context) | 121 | name, context=context) |
4044 | 87 | if context.get('src_wh',False): | 122 | if context.get('wh_src',False): |
4045 | 88 | invoice = self.browse(cr, uid, ids[0]) | 123 | invoice = self.browse(cr, uid, ids[0]) |
4046 | 89 | 124 | ||
4047 | 90 | types = {'out_invoice': -1, 'in_invoice': 1, 'out_refund': 1, 'in_refund': -1} | 125 | types = {'out_invoice': -1, 'in_invoice': 1, 'out_refund': 1, 'in_refund': -1} |
4048 | 91 | 126 | ||
4049 | === modified file 'l10n_ve_withholding_src/model/partner.py' | |||
4050 | --- l10n_ve_withholding_src/model/partner.py 2012-01-26 22:29:50 +0000 | |||
4051 | +++ l10n_ve_withholding_src/model/partner.py 2013-01-14 19:15:27 +0000 | |||
4052 | @@ -31,14 +31,12 @@ | |||
4053 | 31 | 31 | ||
4054 | 32 | class res_partner(osv.osv): | 32 | class res_partner(osv.osv): |
4055 | 33 | _inherit = 'res.partner' | 33 | _inherit = 'res.partner' |
4066 | 34 | #~ logger = netsvc.Logger() | 34 | logger = netsvc.Logger() |
4067 | 35 | #~ _columns = { | 35 | _columns = { |
4068 | 36 | #~ 'wh_src_agent': fields.boolean('Wh. Agent', help="Indicate if the partner is a withholding vat agent"), | 36 | 'wh_src_agent': fields.boolean('Wh. Agent', help="Indicate if the partner is a withholding vat agent"), |
4069 | 37 | #~ 'wh_src_rate': fields.float(string='Rate', digits_compute= dp.get_precision('Withhold'), help="Withholding vat rate"), | 37 | 'wh_src_rate': fields.float(string='Rate', digits_compute= dp.get_precision('Withhold'), help="Withholding vat rate"), |
4070 | 38 | #~ } | 38 | } |
4071 | 39 | #~ _defaults = { | 39 | _defaults = { |
4072 | 40 | #~ 'wh_src_rate': lambda *a: 0, | 40 | 'wh_src_rate': lambda *a: 0, |
4073 | 41 | #~ } | 41 | } |
4064 | 42 | |||
4065 | 43 | |||
4074 | 44 | res_partner() | 42 | res_partner() |
4075 | 45 | 43 | ||
4076 | === modified file 'l10n_ve_withholding_src/model/wh_src.py' | |||
4077 | --- l10n_ve_withholding_src/model/wh_src.py 2012-09-26 22:10:42 +0000 | |||
4078 | +++ l10n_ve_withholding_src/model/wh_src.py 2013-01-14 19:15:27 +0000 | |||
4079 | @@ -51,6 +51,45 @@ | |||
4080 | 51 | res.append((move.id, name)) | 51 | res.append((move.id, name)) |
4081 | 52 | return res | 52 | return res |
4082 | 53 | 53 | ||
4083 | 54 | def _get_uid_wh_agent(self, cr, uid, context=None): | ||
4084 | 55 | context = context or {} | ||
4085 | 56 | user_wh_agent = self.pool.get('res.partner').browse(cr, uid, uid, context=context).wh_src_agent | ||
4086 | 57 | return user_wh_agent | ||
4087 | 58 | |||
4088 | 59 | def _get_partner_agent(self, cr, uid, context=None): | ||
4089 | 60 | context = context or {} | ||
4090 | 61 | |||
4091 | 62 | obj_partner = self.pool.get('res.partner') | ||
4092 | 63 | |||
4093 | 64 | if context.get('type') in ('out_invoice'): | ||
4094 | 65 | partner_ids = obj_partner.search(cr, uid, [('wh_src_agent','=',True)]) | ||
4095 | 66 | partner_brw = self.pool.get('res.partner').browse(cr, uid, partner_ids, context=context) | ||
4096 | 67 | else: | ||
4097 | 68 | partner_ids = obj_partner.search(cr, uid, []) | ||
4098 | 69 | partner_brw = self.pool.get('res.partner').browse(cr, uid, partner_ids, context=context) | ||
4099 | 70 | |||
4100 | 71 | l = map(lambda x: x.id, partner_brw) | ||
4101 | 72 | |||
4102 | 73 | return l | ||
4103 | 74 | |||
4104 | 75 | def default_get(self, cr, uid, fields, context=None): | ||
4105 | 76 | context = context or {} | ||
4106 | 77 | res = super(account_wh_src, self).default_get(cr, uid, fields, context=context) | ||
4107 | 78 | res.update({'uid_wh_agent': self._get_uid_wh_agent(cr,uid,context=context) }) | ||
4108 | 79 | res.update({'partner_list': self._get_partner_agent(cr,uid,context=context) }) | ||
4109 | 80 | |||
4110 | 81 | return res | ||
4111 | 82 | |||
4112 | 83 | def _get_p_agent(self, cr, uid, ids, field_name, args, context=None): | ||
4113 | 84 | context = context or {} | ||
4114 | 85 | res= {}.fromkeys(ids,self._get_partner_agent(cr,uid,context=context)) | ||
4115 | 86 | return res | ||
4116 | 87 | |||
4117 | 88 | def _get_wh_agent(self, cr, uid, ids, field_name, args, context=None): | ||
4118 | 89 | context = context or {} | ||
4119 | 90 | res= {}.fromkeys(ids,self._get_uid_wh_agent(cr,uid,context=context)) | ||
4120 | 91 | return res | ||
4121 | 92 | |||
4122 | 54 | _name = "account.wh.src" | 93 | _name = "account.wh.src" |
4123 | 55 | _description = "Social Responsibility Commitment Withholding" | 94 | _description = "Social Responsibility Commitment Withholding" |
4124 | 56 | _columns = { | 95 | _columns = { |
4125 | @@ -77,7 +116,9 @@ | |||
4126 | 77 | 'company_id': fields.many2one('res.company', 'Company', required=True, help="Company"), | 116 | 'company_id': fields.many2one('res.company', 'Company', required=True, help="Company"), |
4127 | 78 | 'line_ids': fields.one2many('account.wh.src.line', 'wh_id', 'Local withholding lines', readonly=True, states={'draft':[('readonly',False)]}, help="Facturas a la cual se realizarĂ¡n las retenciones"), | 117 | 'line_ids': fields.one2many('account.wh.src.line', 'wh_id', 'Local withholding lines', readonly=True, states={'draft':[('readonly',False)]}, help="Facturas a la cual se realizarĂ¡n las retenciones"), |
4128 | 79 | 'wh_amount': fields.float('Amount', required=False, digits_compute= dp.get_precision('Withhold'), help="Amount withheld"), | 118 | 'wh_amount': fields.float('Amount', required=False, digits_compute= dp.get_precision('Withhold'), help="Amount withheld"), |
4130 | 80 | 119 | ||
4131 | 120 | 'uid_wh_agent': fields.function(_get_wh_agent, type='boolean', string="uid_wh_agent", store=False), | ||
4132 | 121 | 'partner_list' : fields.function(_get_p_agent, type='char', string='Lista', store=False, method=False), | ||
4133 | 81 | 122 | ||
4134 | 82 | } | 123 | } |
4135 | 83 | 124 | ||
4136 | @@ -208,7 +249,7 @@ | |||
4137 | 208 | inv_obj = self.pool.get('account.invoice') | 249 | inv_obj = self.pool.get('account.invoice') |
4138 | 209 | if context is None: context = {} | 250 | if context is None: context = {} |
4139 | 210 | 251 | ||
4141 | 211 | context.update({'src_wh':True}) | 252 | context.update({'wh_src':True}) |
4142 | 212 | 253 | ||
4143 | 213 | ret = self.browse(cr, uid, ids[0], context) | 254 | ret = self.browse(cr, uid, ids[0], context) |
4144 | 214 | 255 | ||
4145 | 215 | 256 | ||
4146 | === renamed file 'l10n_ve_withholding_src/wh_src_report.xml' => 'l10n_ve_withholding_src/report/wh_src_report.xml' | |||
4147 | === modified file 'l10n_ve_withholding_src/security/ir.model.access.csv' | |||
4148 | --- l10n_ve_withholding_src/security/ir.model.access.csv 2012-04-03 19:54:22 +0000 | |||
4149 | +++ l10n_ve_withholding_src/security/ir.model.access.csv 2013-01-14 19:15:27 +0000 | |||
4150 | @@ -3,3 +3,4 @@ | |||
4151 | 3 | "access_account_wh_src_line_user","account.wh.src.line.user","model_account_wh_src_line","l10n_ve_withholding_src.group_account_wh_src_user",1,0,0,0 | 3 | "access_account_wh_src_line_user","account.wh.src.line.user","model_account_wh_src_line","l10n_ve_withholding_src.group_account_wh_src_user",1,0,0,0 |
4152 | 4 | "access_account_wh_src_manager","account.wh.src.manager","model_account_wh_src","l10n_ve_withholding_src.group_account_wh_src_manager",1,1,1,1 | 4 | "access_account_wh_src_manager","account.wh.src.manager","model_account_wh_src","l10n_ve_withholding_src.group_account_wh_src_manager",1,1,1,1 |
4153 | 5 | "access_account_wh_src_line_manager","account.wh.src.line.manager","model_account_wh_src_line","l10n_ve_withholding_src.group_account_wh_src_manager",1,1,1,1 | 5 | "access_account_wh_src_line_manager","account.wh.src.line.manager","model_account_wh_src_line","l10n_ve_withholding_src.group_account_wh_src_manager",1,1,1,1 |
4154 | 6 | "access_wiz_retention","wiz.retention.manager","model_wiz_retention","l10n_ve_withholding_src.group_account_wh_src_manager",1,1,1,1 | ||
4155 | 6 | 7 | ||
4156 | === modified file 'l10n_ve_withholding_src/view/account_invoice_view.xml' | |||
4157 | --- l10n_ve_withholding_src/view/account_invoice_view.xml 2012-11-07 21:33:58 +0000 | |||
4158 | +++ l10n_ve_withholding_src/view/account_invoice_view.xml 2013-01-14 19:15:27 +0000 | |||
4159 | @@ -8,14 +8,20 @@ | |||
4160 | 8 | <field name="type">form</field> | 8 | <field name="type">form</field> |
4161 | 9 | <field name="inherit_id" ref="l10n_ve_withholding.wh_inv_customer"/> | 9 | <field name="inherit_id" ref="l10n_ve_withholding.wh_inv_customer"/> |
4162 | 10 | <field name="arch" type="xml"> | 10 | <field name="arch" type="xml"> |
4164 | 11 | <xpath expr="//field[@name='currency_id']" position="after"> | 11 | <xpath expr="//separator[@string='rsep']" position="after"> |
4165 | 12 | <newline/> | 12 | <newline/> |
4166 | 13 | <group col="6" colspan="4"> | 13 | <group col="6" colspan="4"> |
4167 | 14 | <field name="wh_src_rate"/> | 14 | <field name="wh_src_rate"/> |
4168 | 15 | <field name="wh_src_id"/> | 15 | <field name="wh_src_id"/> |
4169 | 16 | </group> | 16 | </group> |
4170 | 17 | <button name="%(action_wiz_retention)d" | ||
4171 | 18 | type='action' | ||
4172 | 19 | string='Change retention' | ||
4173 | 20 | icon="gtk-execute" | ||
4174 | 21 | colspan="6" | ||
4175 | 22 | attrs="{'invisible': ['|',('state','=', 'draft'),('state','=', 'paid')]}"/> | ||
4176 | 17 | </xpath> | 23 | </xpath> |
4178 | 18 | <xpath expr="//field[@name='account_id']" position='attributes'> | 24 | <xpath expr="//separator[@string='rsep']" position='attributes'> |
4179 | 19 | <attribute name="string">SRC Withholdings</attribute> | 25 | <attribute name="string">SRC Withholdings</attribute> |
4180 | 20 | </xpath> | 26 | </xpath> |
4181 | 21 | </field> | 27 | </field> |
4182 | @@ -33,7 +39,14 @@ | |||
4183 | 33 | <field name="wh_src_rate"/> | 39 | <field name="wh_src_rate"/> |
4184 | 34 | <field name="wh_src_id"/> | 40 | <field name="wh_src_id"/> |
4185 | 35 | </group> | 41 | </group> |
4186 | 42 | <button name="%(action_wiz_retention)d" | ||
4187 | 43 | type='action' | ||
4188 | 44 | string='Change retention' | ||
4189 | 45 | icon="gtk-execute" | ||
4190 | 46 | colspan="6" | ||
4191 | 47 | attrs="{'invisible': ['|',('state','=', 'draft'),('state','=', 'paid')]}"/> | ||
4192 | 36 | </xpath> | 48 | </xpath> |
4193 | 49 | |||
4194 | 37 | <xpath expr='//separator[@string="rsep"]' position='attributes'> | 50 | <xpath expr='//separator[@string="rsep"]' position='attributes'> |
4195 | 38 | <attribute name="string">SRC Withholdings</attribute> | 51 | <attribute name="string">SRC Withholdings</attribute> |
4196 | 39 | </xpath> | 52 | </xpath> |
4197 | 40 | 53 | ||
4198 | === modified file 'l10n_ve_withholding_src/view/company_view.xml' | |||
4199 | --- l10n_ve_withholding_src/view/company_view.xml 2012-01-27 05:37:46 +0000 | |||
4200 | +++ l10n_ve_withholding_src/view/company_view.xml 2013-01-14 19:15:27 +0000 | |||
4201 | @@ -8,12 +8,12 @@ | |||
4202 | 8 | <field name="type">form</field> | 8 | <field name="type">form</field> |
4203 | 9 | <field name="inherit_id" ref="base.view_company_form"/> | 9 | <field name="inherit_id" ref="base.view_company_form"/> |
4204 | 10 | <field name="arch" type="xml"> | 10 | <field name="arch" type="xml"> |
4207 | 11 | <page string="Configuration" position="inside"> | 11 | <xpath expr='//page[@string="Configuration"]/group/group[@name="account_grp"]' position="after"> |
4208 | 12 | <separator string="Social Responsability Commitment Accounts" colspan="4"/> | 12 | <separator string="Social Responsability Commitment Accounts" colspan="2"/> |
4209 | 13 | <field name="wh_src_collected_account_id" required='1'/> | 13 | <field name="wh_src_collected_account_id" required='1'/> |
4210 | 14 | <field name="wh_src_paid_account_id" required='1'/> | 14 | <field name="wh_src_paid_account_id" required='1'/> |
4211 | 15 | <newline/> | 15 | <newline/> |
4213 | 16 | </page> | 16 | </xpath> |
4214 | 17 | </field> | 17 | </field> |
4215 | 18 | </record> | 18 | </record> |
4216 | 19 | 19 | ||
4217 | 20 | 20 | ||
4218 | === modified file 'l10n_ve_withholding_src/view/partner_view.xml' | |||
4219 | --- l10n_ve_withholding_src/view/partner_view.xml 2012-01-26 04:52:17 +0000 | |||
4220 | +++ l10n_ve_withholding_src/view/partner_view.xml 2013-01-14 19:15:27 +0000 | |||
4221 | @@ -1,33 +1,25 @@ | |||
4222 | 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
4223 | 2 | <openerp> | 2 | <openerp> |
4224 | 3 | <data> | 3 | <data> |
4229 | 4 | 4 | <!-- | |
4226 | 5 | |||
4227 | 6 | |||
4228 | 7 | <!-- | ||
4230 | 8 | ===================================================== | 5 | ===================================================== |
4231 | 9 | Partners Extension | 6 | Partners Extension |
4232 | 10 | ===================================================== | 7 | ===================================================== |
4237 | 11 | --> | 8 | --> |
4238 | 12 | 9 | <record id="partner_wh_src" model="ir.ui.view"> | |
4239 | 13 | <record id="partner_ext_munici_view_form_loc_ve" model="ir.ui.view"> | 10 | <field name="name">res.partner.form.wh.src</field> |
4236 | 14 | <field name="name">partner_extended_munici.partner.form.view.loc_ve</field> | ||
4240 | 15 | <field name="model">res.partner</field> | 11 | <field name="model">res.partner</field> |
4241 | 16 | <field name="type">form</field> | ||
4242 | 17 | <field name="inherit_id" ref="l10n_ve_withholding.wh_partner"/> | 12 | <field name="inherit_id" ref="l10n_ve_withholding.wh_partner"/> |
4243 | 18 | <field name="arch" type="xml"> | 13 | <field name="arch" type="xml"> |
4254 | 19 | <page string="Withholdings" position="inside"> | 14 | <xpath expr="//page[@string='Withholdings']" position="after"> |
4255 | 20 | <notebook> | 15 | <page string="Local Withholdings"> |
4256 | 21 | <page string="Local Withholdings"> | 16 | <group col="4" colspan="2"> |
4257 | 22 | <group col="4" colspan="2"> | 17 | <field name="wh_src_agent"/> |
4258 | 23 | <field name="property_wh_munici_payable"/> | 18 | <field name="wh_src_rate"/> |
4259 | 24 | <field name="property_wh_munici_receivable"/> | 19 | </group> |
4260 | 25 | </group> | 20 | </page> |
4261 | 26 | </page> | 21 | </xpath> |
4252 | 27 | </notebook> | ||
4253 | 28 | </page> | ||
4262 | 29 | </field> | 22 | </field> |
4263 | 30 | </record> | 23 | </record> |
4264 | 31 | |||
4265 | 32 | </data> | 24 | </data> |
4266 | 33 | </openerp> | 25 | </openerp> |
4267 | 34 | 26 | ||
4268 | === modified file 'l10n_ve_withholding_src/view/wh_src_view.xml' | |||
4269 | --- l10n_ve_withholding_src/view/wh_src_view.xml 2012-01-30 20:48:44 +0000 | |||
4270 | +++ l10n_ve_withholding_src/view/wh_src_view.xml 2013-01-14 19:15:27 +0000 | |||
4271 | @@ -57,10 +57,10 @@ | |||
4272 | 57 | <field name="arch" type="xml"> | 57 | <field name="arch" type="xml"> |
4273 | 58 | <search string="Search Withholding Local"> | 58 | <search string="Search Withholding Local"> |
4274 | 59 | <group col="10" colspan="4"> | 59 | <group col="10" colspan="4"> |
4279 | 60 | <filter name="wh_src_draft" icon="terp-gtk-media-pause" string="Draft" domain="[('state','=','draft')]" help="Draft Withholding Local"/> | 60 | <filter name="wh_src_draft" string="Draft" domain="[('state','=','draft')]" help="Draft Withholding Local"/> |
4280 | 61 | <filter name="wh_src_confirmed" icon="terp-gtk-media-pause" string="Confirmed" domain="[('state','=','confirmed')]" help="Draft Withholding Local"/> | 61 | <filter name="wh_src_confirmed" string="Confirmed" domain="[('state','=','confirmed')]" help="Draft Withholding Local"/> |
4281 | 62 | <filter name="wh_src_done" icon="terp-check" string="Done" domain="[('state','=','done')]" help="Done Withholding Local"/> | 62 | <filter name="wh_src_done" string="Done" domain="[('state','=','done')]" help="Done Withholding Local"/> |
4282 | 63 | <filter name="wh_src_cancel" icon="terp-dialog-close" string="Cancel" domain="[('state','=','cancel')]" help="Cancel Withholding Local"/> | 63 | <filter name="wh_src_cancel" string="Cancel" domain="[('state','=','cancel')]" help="Cancel Withholding Local"/> |
4283 | 64 | <separator orientation="vertical"/> | 64 | <separator orientation="vertical"/> |
4284 | 65 | <field name="code"/> | 65 | <field name="code"/> |
4285 | 66 | <field name="number"/> | 66 | <field name="number"/> |
4286 | @@ -70,11 +70,11 @@ | |||
4287 | 70 | </group> | 70 | </group> |
4288 | 71 | <newline/> | 71 | <newline/> |
4289 | 72 | <group expand="1" string="Group By..."> | 72 | <group expand="1" string="Group By..."> |
4295 | 73 | <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> | 73 | <filter string="Partner" domain="[]" context="{'group_by':'partner_id'}"/> |
4296 | 74 | <separator orientation="vertical"/> | 74 | <separator orientation="vertical"/> |
4297 | 75 | <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> | 75 | <filter string="State" domain="[]" context="{'group_by':'state'}"/> |
4298 | 76 | <separator orientation="vertical"/> | 76 | <separator orientation="vertical"/> |
4299 | 77 | <filter string="Accounting Date of Withhold" icon="terp-go-month" domain="[]" context="{'group_by':'date_ret'}"/> | 77 | <filter string="Accounting Date of Withhold" domain="[]" context="{'group_by':'date_ret'}"/> |
4300 | 78 | </group> | 78 | </group> |
4301 | 79 | </search> | 79 | </search> |
4302 | 80 | </field> | 80 | </field> |
4303 | @@ -87,7 +87,7 @@ | |||
4304 | 87 | <field name="arch" type="xml"> | 87 | <field name="arch" type="xml"> |
4305 | 88 | <tree colors="blue:state=='draft'" string="Social Responsibility Commitment Withholding"> | 88 | <tree colors="blue:state=='draft'" string="Social Responsibility Commitment Withholding"> |
4306 | 89 | <field name="name"/> | 89 | <field name="name"/> |
4308 | 90 | <field name="type"/> | 90 | <field name="type" readonly="1"/> |
4309 | 91 | <field name="code"/> | 91 | <field name="code"/> |
4310 | 92 | <field name="number"/> | 92 | <field name="number"/> |
4311 | 93 | <field name="partner_id"/> | 93 | <field name="partner_id"/> |
4312 | @@ -107,11 +107,16 @@ | |||
4313 | 107 | <field name="type">form</field> | 107 | <field name="type">form</field> |
4314 | 108 | <field name="arch" type="xml"> | 108 | <field name="arch" type="xml"> |
4315 | 109 | <form string="Social Responsibility Commitment Withholding"> | 109 | <form string="Social Responsibility Commitment Withholding"> |
4316 | 110 | <field name="uid_wh_agent" invisible="1"/> | ||
4317 | 111 | <field name="partner_list" string="Partners List" | ||
4318 | 112 | context="{'partner_list': partner_list} " invisible="1"/> | ||
4319 | 110 | <group colspan="4" col="6"> | 113 | <group colspan="4" col="6"> |
4320 | 111 | <field name="journal_id"/> | 114 | <field name="journal_id"/> |
4322 | 112 | <field name="type"/> | 115 | <field name="type" readonly="1"/> |
4323 | 113 | <field name="code"/> | 116 | <field name="code"/> |
4325 | 114 | <field name="partner_id" on_change="onchange_partner_id(type,partner_id)"/> | 117 | <field name="partner_id" on_change="onchange_partner_id(type,partner_id)" |
4326 | 118 | attrs="{'readonly':['&',('uid_wh_agent','=',False),('type','=','in_invoice')]}" | ||
4327 | 119 | domain="[('id','in',context.get('partner_list' , False))]" /> | ||
4328 | 115 | <field name="currency_id"/> | 120 | <field name="currency_id"/> |
4329 | 116 | <field name="date_ret"/> | 121 | <field name="date_ret"/> |
4330 | 117 | <field name="account_id"/> | 122 | <field name="account_id"/> |
4331 | @@ -132,10 +137,10 @@ | |||
4332 | 132 | <field name="state"/> | 137 | <field name="state"/> |
4333 | 133 | </group> | 138 | </group> |
4334 | 134 | <group col="4" colspan="2"> | 139 | <group col="4" colspan="2"> |
4339 | 135 | <button name="wh_src_confirmed" states="draft" string="Confirm" icon="gtk-ok"/> | 140 | <button name="wh_src_confirmed" states="draft" string="Confirm" /> |
4340 | 136 | <button name="wh_src_done" states="confirmed" string="Done" icon="gtk-execute"/> | 141 | <button name="wh_src_done" states="confirmed" string="Done" /> |
4341 | 137 | <button name="wh_src_cancel" states="done" string="Cancel" icon="gtk-cancel"/> | 142 | <button name="wh_src_cancel" states="done" string="Cancel" /> |
4342 | 138 | <button name="wh_src_draft" states="cancel,confirmed" string="Set to draft" icon="gtk-refresh"/> | 143 | <button name="wh_src_draft" states="cancel,confirmed" string="Set to draft" /> |
4343 | 139 | </group> | 144 | </group> |
4344 | 140 | </page> | 145 | </page> |
4345 | 141 | <page string="Other Information"> | 146 | <page string="Other Information"> |
4346 | @@ -153,7 +158,7 @@ | |||
4347 | 153 | <field name="view_type">form</field> | 158 | <field name="view_type">form</field> |
4348 | 154 | <field name="view_mode">tree,form</field> | 159 | <field name="view_mode">tree,form</field> |
4349 | 155 | <field name="domain">[('type','=','out_invoice')]</field> | 160 | <field name="domain">[('type','=','out_invoice')]</field> |
4351 | 156 | <field name="context">{'type':'out_invoice'}</field> | 161 | <field name="context">{'default_type':'out_invoice', 'type':'out_invoice' }</field> |
4352 | 157 | <field name="search_view_id" ref="view_wh_src_filter"/> | 162 | <field name="search_view_id" ref="view_wh_src_filter"/> |
4353 | 158 | <field name="help">With Social Responsibility Commitment Withholding Customer you can create and manage document withholding issued to your customers. OpenERP can also generate document withholding automatically from invoices. For retention must add the invoices, process them and then validate the document.</field> | 163 | <field name="help">With Social Responsibility Commitment Withholding Customer you can create and manage document withholding issued to your customers. OpenERP can also generate document withholding automatically from invoices. For retention must add the invoices, process them and then validate the document.</field> |
4354 | 159 | </record> | 164 | </record> |
4355 | @@ -185,7 +190,7 @@ | |||
4356 | 185 | <field name="view_type">form</field> | 190 | <field name="view_type">form</field> |
4357 | 186 | <field name="view_mode">tree,form</field> | 191 | <field name="view_mode">tree,form</field> |
4358 | 187 | <field name="domain">[('type','=','in_invoice')]</field> | 192 | <field name="domain">[('type','=','in_invoice')]</field> |
4360 | 188 | <field name="context">{'type':'in_invoice'}</field> | 193 | <field name="context">{'default_type':'in_invoice','type':'in_invoice'}</field> |
4361 | 189 | <field name="search_view_id" ref="view_wh_src_filter"/> | 194 | <field name="search_view_id" ref="view_wh_src_filter"/> |
4362 | 190 | <field name="help">With Social Responsibility Commitment Withholding Supplier you can create and manage document withholding issued to your customers. OpenERP can also generate document withholding automatically from invoices. For retention must add the invoices, process them and then validate the document.</field> | 195 | <field name="help">With Social Responsibility Commitment Withholding Supplier you can create and manage document withholding issued to your customers. OpenERP can also generate document withholding automatically from invoices. For retention must add the invoices, process them and then validate the document.</field> |
4363 | 191 | </record> | 196 | </record> |
4364 | 192 | 197 | ||
4365 | === modified file 'l10n_ve_withholding_src/wizard/__init__.py' | |||
4366 | --- l10n_ve_withholding_src/wizard/__init__.py 2012-01-26 04:52:17 +0000 | |||
4367 | +++ l10n_ve_withholding_src/wizard/__init__.py 2013-01-14 19:15:27 +0000 | |||
4368 | @@ -23,7 +23,8 @@ | |||
4369 | 23 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 23 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
4370 | 24 | ################################################################################ | 24 | ################################################################################ |
4371 | 25 | 25 | ||
4373 | 26 | import wizard_ret_munici_xml | 26 | #~ import wizard_ret_munici_xml |
4374 | 27 | import wizard_retention | ||
4375 | 27 | 28 | ||
4376 | 28 | 29 | ||
4377 | 29 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: | 30 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
4378 | 30 | 31 | ||
4379 | === added file 'l10n_ve_withholding_src/wizard/wizard_retention.py' | |||
4380 | --- l10n_ve_withholding_src/wizard/wizard_retention.py 1970-01-01 00:00:00 +0000 | |||
4381 | +++ l10n_ve_withholding_src/wizard/wizard_retention.py 2013-01-14 19:15:27 +0000 | |||
4382 | @@ -0,0 +1,59 @@ | |||
4383 | 1 | #!/usr/bin/python | ||
4384 | 2 | # -*- encoding: utf-8 -*- | ||
4385 | 3 | ########################################################################### | ||
4386 | 4 | # Module Writen to OpenERP, Open Source Management Solution | ||
4387 | 5 | # Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>). | ||
4388 | 6 | # All Rights Reserved | ||
4389 | 7 | ###############Credits###################################################### | ||
4390 | 8 | # Coded by: Vauxoo C.A. | ||
4391 | 9 | # Planified by: Humberto Arocha | ||
4392 | 10 | # Audited by: Vauxoo C.A. | ||
4393 | 11 | ############################################################################# | ||
4394 | 12 | # This program is free software: you can redistribute it and/or modify | ||
4395 | 13 | # it under the terms of the GNU Affero General Public License as published by | ||
4396 | 14 | # the Free Software Foundation, either version 3 of the License, or | ||
4397 | 15 | # (at your option) any later version. | ||
4398 | 16 | # | ||
4399 | 17 | # This program is distributed in the hope that it will be useful, | ||
4400 | 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
4401 | 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
4402 | 20 | # GNU Affero General Public License for more details. | ||
4403 | 21 | # | ||
4404 | 22 | # You should have received a copy of the GNU Affero General Public License | ||
4405 | 23 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
4406 | 24 | ################################################################################ | ||
4407 | 25 | |||
4408 | 26 | import wizard | ||
4409 | 27 | from osv import osv | ||
4410 | 28 | from osv import fields | ||
4411 | 29 | from tools.translate import _ | ||
4412 | 30 | |||
4413 | 31 | class wiz_retention(osv.osv_memory): | ||
4414 | 32 | _name = 'wiz.retention' | ||
4415 | 33 | _description = "Wizard that changes the retention value" | ||
4416 | 34 | |||
4417 | 35 | def set_retention(self, cr, uid, ids, context=None): | ||
4418 | 36 | if context is None: | ||
4419 | 37 | context={} | ||
4420 | 38 | data = self.pool.get('wiz.retention').read(cr, uid, ids)[0] | ||
4421 | 39 | if not data['sure']: | ||
4422 | 40 | raise osv.except_osv(_("Error!"), _("Please confirm that you want to do this by checking the option")) | ||
4423 | 41 | |||
4424 | 42 | inv_obj = self.pool.get('account.invoice') | ||
4425 | 43 | n_retention = data['name'] | ||
4426 | 44 | |||
4427 | 45 | if n_retention and n_retention > 5: | ||
4428 | 46 | raise osv.except_osv(_("Error!"), _("Maximum retention is 5%")) | ||
4429 | 47 | else: | ||
4430 | 48 | invoice = inv_obj.browse(cr, uid, context['active_id']) | ||
4431 | 49 | inv_obj.write(cr, uid, context.get('active_id'), {'wh_src_rate': n_retention}, context=context) | ||
4432 | 50 | |||
4433 | 51 | return {} | ||
4434 | 52 | |||
4435 | 53 | _columns = { | ||
4436 | 54 | 'name': fields.float('Retention Value', required=True), | ||
4437 | 55 | 'sure': fields.boolean('Are you sure?'), | ||
4438 | 56 | } | ||
4439 | 57 | |||
4440 | 58 | wiz_retention() | ||
4441 | 59 | |||
4442 | 0 | 60 | ||
4443 | === added file 'l10n_ve_withholding_src/wizard/wizard_retention_view.xml' | |||
4444 | --- l10n_ve_withholding_src/wizard/wizard_retention_view.xml 1970-01-01 00:00:00 +0000 | |||
4445 | +++ l10n_ve_withholding_src/wizard/wizard_retention_view.xml 2013-01-14 19:15:27 +0000 | |||
4446 | @@ -0,0 +1,36 @@ | |||
4447 | 1 | <?xml version="1.0" encoding="utf-8"?> | ||
4448 | 2 | <openerp> | ||
4449 | 3 | <data> | ||
4450 | 4 | |||
4451 | 5 | |||
4452 | 6 | <record model="ir.ui.view" id="wizard_retention_form"> | ||
4453 | 7 | <field name="name">wizard.retention.form</field> | ||
4454 | 8 | <field name="model">wiz.retention</field> | ||
4455 | 9 | <field name="arch" type="xml"> | ||
4456 | 10 | <form string="Are you sure you want to do this?" version="7.0"> | ||
4457 | 11 | <label for="name" /> | ||
4458 | 12 | <field name="name" /> | ||
4459 | 13 | <newline/><newline/> | ||
4460 | 14 | <label for="sure" /> | ||
4461 | 15 | <field name="sure" /> | ||
4462 | 16 | |||
4463 | 17 | <footer> | ||
4464 | 18 | <button name="set_retention" string="Confirm" type="object" icon="terp-check" class="oe_highlight"/> | ||
4465 | 19 | or | ||
4466 | 20 | <button special='cancel' string="Cancel" icon="terp-gtk-stop" class="oe_link" /> | ||
4467 | 21 | </footer> | ||
4468 | 22 | </form> | ||
4469 | 23 | </field> | ||
4470 | 24 | </record> | ||
4471 | 25 | |||
4472 | 26 | <record id="action_wiz_retention" model="ir.actions.act_window"> | ||
4473 | 27 | <field name="name">Change retention</field> | ||
4474 | 28 | <field name="type">ir.actions.act_window</field> | ||
4475 | 29 | <field name="res_model">wiz.retention</field> | ||
4476 | 30 | <field name="view_type">form</field> | ||
4477 | 31 | <field name="view_mode">form</field> | ||
4478 | 32 | <field name="target">new</field> | ||
4479 | 33 | </record> | ||
4480 | 34 | |||
4481 | 35 | </data> | ||
4482 | 36 | </openerp> |