Merge pull request #144 from savoirfairelinux/7.0-npg_modules

[7.0] npg modules - account_banking_make_deposit, account_banking_reconciliation
This commit is contained in:
Maxime Chambreuil - http://www.savoirfairelinux.com
2015-08-21 16:33:39 -04:00
44 changed files with 7368 additions and 3 deletions

View File

@@ -1898,7 +1898,7 @@ class account_bank_statement(orm.Model):
if (not st.journal_id.default_credit_account_id) \
or (not st.journal_id.default_debit_account_id):
raise orm.except_orm(
_('Configuration Error !'),
_('Configuration Error'),
_('Please verify that an account is defined in the '
'journal.')
)
@@ -1907,7 +1907,7 @@ class account_bank_statement(orm.Model):
for line in st.move_line_ids:
if line.state != 'valid':
raise orm.except_orm(
_('Error !'),
_('Error'),
_('The account entries lines are not in valid state.')
)

View File

@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from . import wizard
from . import report
from . import models

View File

@@ -0,0 +1,89 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
{
'name': 'Bank Deposit Ticket',
'description': '''
This module supports the functionality to prepare and record Bank Deposit
Tickets, often found in check centric markets like the US. It allows users
to select various customer payments and receipts and bundle them into a
Deposit Ticket. This would be used to support the following activities:
Depositing multiple Checks into your bank account under one deposit ticket,
and Deposit Checks and Cash into your bank account from multiple customer
receipts or payments. This module can be used for any “bank transaction”
centric process including: Paypal, Bank Accounts, and even credit cards
which tend to deposit funds by bundled transactions versus individual
checks. By combining payments and receipts into deposit tickets, and using
this module to manage the general ledger entries, it will streamline the bank
account statement reconciliation process (defined as: comparing your bank
account transactions versus the recorded transactions in OpenERP for audit
and financial control purposes).
This module also tracks who prepared the Deposit Ticket, and the user who
verified the deposit ticket. In addition to the following: Method of
Deposit (e.g. ATM, Night Drop, Teller, Remote Deposit Capture, Online
Deposit Capture); Bank Tracking number (e.g. TLR#3 BC#47331 REF#94849303938)
; Date of Deposit, Deposit Bag #, etc.
We recommend users add to their GL Chart of Accounts a new Other Current
Account named Undeposited Funds, as well as a new journal to post payments
to with the Undeposited Funds on the debit side of the transaction.
Future enhancements will also include the ability to track deposits NOT
using the Undeposited Funds GL account.
Why is this module needed? OpenERP by default is designed for more
electronic transaction management driven by its heritage in Europe
when EFT (electronic) transactions are more readily used versus Check
centric transactions. In electronic transaction management bundled
deposits dont typically occur as payment transactions typically are
displayed individual on statements.
This module is seen as a prerequisite to support efficient Bank Account
Statement Reconciliation found in the US and other countries.
''',
'category': 'Generic Modules/Accounting',
'version': '1.4',
'author': 'Novapoint Group LLC',
'website': 'www.novapointgroup.com',
'depends': [
'account_cancel',
'report_webkit'
],
'data': [
'security/account_banking_make_deposit_security.xml',
'security/ir.model.access.csv',
'wizard/add_deposit_items_view.xml',
'report/deposit_ticket.xml',
'views/account_move_line.xml',
'views/deposit_method.xml',
'views/deposit_ticket.xml',
],
'demo': [
'demo/deposit_method.xml'
],
'test': [],
'active': False,
'installable': True,
}

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<record id="deposit_method_teller" model="deposit.method">
<field name="name">Teller</field>
</record>
<record id="deposit_method_atm" model="deposit.method">
<field name="name">ATM</field>
</record>
<record id="deposit_method_remote_deposit_capture" model="deposit.method">
<field name="name">Remote Deposit Capture</field>
</record>
<record id="deposit_method_online_deposit_capture" model="deposit.method">
<field name="name">Online Deposit Capture</field>
</record>
<record id="deposit_method_night_drop" model="deposit.method">
<field name="name">Night Drop</field>
</record>
</data>
</openerp>

View File

@@ -0,0 +1,617 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_banking_make_deposit
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-06-17 00:47+0000\n"
"PO-Revision-Date: 2015-06-17 00:47+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_banking_make_deposit
#: help:deposit.ticket,move_id:0
msgid "Link to the automatically generated Journal Items."
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter company Name"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit From Account"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,name:0
msgid "Deposit Ticket #"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter deposit tracking no."
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.items.line,deposit_items_id:0
msgid "Deposit Items ID"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket.line,name:0
msgid "Derived from the related Journal Item."
msgstr ""
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:436
#, python-format
msgid "Select Payments for Deposit"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.items.line,company_id:0
#: field:deposit.ticket,company_id:0
#: field:deposit.ticket.line,company_id:0
msgid "Company"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Order date"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "To be Reviewed"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,deposit_method_id:0
msgid "This is how the deposit was made: Examples: *Teller \n"
"*ATM \n"
"*Remote Deposit Capture \n"
"*Online Deposit Capture \n"
"*Night Drop"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket.line,amount:0
msgid "Derived from the 'debit' amount from related Journal Item."
msgstr ""
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "_Select All"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.items.line,move_line_id:0
#: field:deposit.ticket.line,move_line_id:0
msgid "Journal Item"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.items.line,amount:0
#: field:deposit.ticket,amount:0
#: field:deposit.ticket.line,amount:0
msgid "Amount"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,journal_id:0
msgid "The Journal to hold accounting entries."
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,ticket_line_ids:0
#: model:ir.model,name:account_banking_make_deposit.model_deposit_ticket_line
msgid "Deposit Ticket Line"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.items.line,ref:0
#: field:deposit.ticket.line,ref:0
msgid "Reference"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Group By..."
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit Tickets"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,period_id:0
msgid "Force Period"
msgstr ""
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "_Cancel"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,memo:0
msgid "Memo for the deposit ticket"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.items.line,partner_id:0
#: field:deposit.ticket.line,partner_id:0
msgid "Partner"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,move_id:0
msgid "Journal Entry"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.items.line,draft_assigned:0
msgid "Select"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,deposit_bag_no:0
msgid "Deposit Bag No"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter Account Name (from)"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter journal name"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,company_id:0
msgid "The Company for which the deposit ticket is made to"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,period_id:0
msgid "Keep empty to use the period of the validation date."
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
#: field:deposit.ticket,state:0
msgid "State"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Tracking Information"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket_line.py:84
#, python-format
msgid "You cannot add any new deposit ticket line manually as of this revision! Please use the button \"Add Deposit Items\" to add deposit ticket line!"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter Account Name (to)"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,prepared_by_user_id:0
#: help:deposit.ticket,verified_by_user_id:0
msgid "Entered automatically by the “last user” who saved it. System generated."
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,count_total:0
msgid "Total Items"
msgstr ""
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "_Unselect All"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Open Periods"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,amount:0
msgid "Calculates the Total of All Deposit Lines This is the Total Amount of Deposit."
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,deposit_method_id:0
#: model:ir.actions.act_window,name:account_banking_make_deposit.action_deposit_method
#: model:ir.model,name:account_banking_make_deposit.model_deposit_method
msgid "Deposit Method"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,bank_tracking_no:0
msgid "This field is used to hold a tracking number provided by the bank/financial institution often used in Remote Deposit Capture on a deposit receipt. Entered after deposit occurs."
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.method,name:0
msgid "Name of the method used for deposit"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:63
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:120
#, python-format
msgid "User Error"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit Tickets that have been processed"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Other Information"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,bank_tracking_no:0
msgid "Deposit Tracking No"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
#: model:ir.actions.act_window,name:account_banking_make_deposit.action_view_add_deposit_items
#: model:ir.model,name:account_banking_make_deposit.model_add_deposit_items
msgid "Add Deposit Items"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,deposit_to_account_id:0
msgid "The Bank/Gl Account the Deposit is being made to."
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,deposit_from_account_id:0
msgid "The Bank/GL Account the Payments are currently found in."
msgstr ""
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "Select Payments to Deposit"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,verified_date:0
msgid "Date in which Deposit Ticket was verified."
msgstr ""
#. module: account_banking_make_deposit
#: model:ir.actions.report.xml,name:account_banking_make_deposit.report_deposit_ticket
msgid "Internal Deposit Ticket"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter period"
msgstr ""
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "_OK"
msgstr ""
#. module: account_banking_make_deposit
#: model:ir.model,name:account_banking_make_deposit.model_deposit_items_line
msgid "Deposit Items Line"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter user name who varified"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:67
#, python-format
msgid "Only a member of '%s' group may delete/edit deposit tickets when not in draft state!"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket.line,move_line_id:0
msgid "Related Journal Item."
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:237
#: view:deposit.ticket:0
#, python-format
msgid "Draft"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Set to Draft"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,verified_by_user_id:0
msgid "Verified By"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit Tickets that haven't yet been confirmed"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,deposit_bag_no:0
msgid "Deposit Bag number for courier transit."
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,deposit_from_account_id:0
msgid "Deposit From Acct"
msgstr ""
#. module: account_banking_make_deposit
#: report:addons/account_banking_make_deposit/report/deposit_ticket.mako:0
#: view:deposit.ticket:0
msgid "Deposit Ticket Lines"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.items.line,date:0
#: field:deposit.ticket.line,date:0
msgid "Date"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,count_total:0
msgid "Counts the total # of line items in the deposit ticket."
msgstr ""
#. module: account_banking_make_deposit
#: field:account.move.line,deposit_id:0
#: view:deposit.ticket:0
#: field:deposit.ticket.line,deposit_id:0
#: model:ir.actions.act_window,name:account_banking_make_deposit.action_deposit_ticket
#: model:ir.model,name:account_banking_make_deposit.model_deposit_ticket
msgid "Deposit Ticket"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Search Deposit Tickets"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter deposite date"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,date:0
msgid "Date of Deposit"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter date of varification"
msgstr ""
#. module: account_banking_make_deposit
#: model:ir.model,name:account_banking_make_deposit.model_account_move_line
msgid "Journal Items"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Prepared by me"
msgstr ""
#. module: account_banking_make_deposit
#: model:ir.ui.menu,name:account_banking_make_deposit.menu_deposit_methods
msgid "Deposit Methods"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:115
#, python-format
msgid "Error"
msgstr ""
#. module: account_banking_make_deposit
#: model:res.groups,name:account_banking_make_deposit.group_make_deposits_preparer
msgid "Make Deposits Preparer"
msgstr ""
#. module: account_banking_make_deposit
#: model:ir.actions.act_window,help:account_banking_make_deposit.action_deposit_ticket
msgid "With Deposit Tickets you can create new deposit tickets, by selecting and grouping customer payments, supplier refunds, or other payments into a Deposit Ticket. OpenERP automatically posts accounting entries for “Done” deposit tickets. The GL entry for the deposit is posted into the Current Period based on the date range selected."
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:116
#, python-format
msgid "Please define sequence on deposit journal"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Process"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter memo"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Period"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:239
#: view:deposit.ticket:0
#, python-format
msgid "Done"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,verified_date:0
msgid "Verified Date"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:240
#: view:deposit.ticket:0
#, python-format
msgid "Cancel"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter deposit method"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,prepared_by_user_id:0
msgid "Prepared By"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter deposit bag no."
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter user name who prepared"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket.line,company_id:0
#: help:deposit.ticket.line,date:0
#: help:deposit.ticket.line,partner_id:0
#: help:deposit.ticket.line,ref:0
msgid "Derived from related Journal Item."
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:238
#: view:deposit.ticket:0
#, python-format
msgid "Ready for Review"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket_line.py:83
#: code:addons/account_banking_make_deposit/wizard/add_deposit_items.py:151
#, python-format
msgid "Processing Error"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,deposit_to_account_id:0
msgid "Deposit To Acct"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,journal_id:0
msgid "Journal"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit Tickets that are ready for review"
msgstr ""
#. module: account_banking_make_deposit
#: model:ir.ui.menu,name:account_banking_make_deposit.menu_make_deposit_tickets
msgid "Make Deposits"
msgstr ""
#. module: account_banking_make_deposit
#: field:add.deposit.items,name:0
#: field:deposit.items.line,name:0
#: field:deposit.method,name:0
#: field:deposit.ticket.line,name:0
msgid "Name"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,date:0
msgid "The Date of the Deposit Ticket."
msgstr ""
#. module: account_banking_make_deposit
#: field:add.deposit.items,deposit_items_line_ids:0
msgid "Lines"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Verified by me"
msgstr ""
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit To Account"
msgstr ""
#. module: account_banking_make_deposit
#: help:account.move.line,draft_assigned:0
msgid "This field is checked when the move line is assigned to a draft deposit ticket. The deposit ticket is not still completely processed"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/wizard/add_deposit_items.py:152
#, python-format
msgid "You cannot add any new deposit line item manually as of this revision!"
msgstr ""
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:121
#, python-format
msgid "Cannot create move on centralised journal"
msgstr ""
#. module: account_banking_make_deposit
#: model:res.groups,name:account_banking_make_deposit.group_make_deposits_verifier
msgid "Make Deposits Verifier"
msgstr ""
#. module: account_banking_make_deposit
#: help:deposit.ticket,name:0
msgid "Each deposit will have a unique sequence ID. System generated."
msgstr ""
#. module: account_banking_make_deposit
#: field:account.move.line,draft_assigned:0
msgid "Draft Assigned"
msgstr ""
#. module: account_banking_make_deposit
#: field:deposit.ticket,memo:0
msgid "Memo"
msgstr ""

View File

@@ -0,0 +1,642 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_banking_make_deposit
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-06-17 00:47+0000\n"
"PO-Revision-Date: 2015-06-16 20:49-0500\n"
"Last-Translator: David Dufresne <david.dufresne@savoirfairelinux.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: \n"
"X-Generator: Poedit 1.5.4\n"
#. module: account_banking_make_deposit
#: help:deposit.ticket,move_id:0
msgid "Link to the automatically generated Journal Items."
msgstr "Lier automatiquement les écritures comptables générées."
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter company Name"
msgstr "Entrer le nom de la société"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit From Account"
msgstr "Dépôt à partir du compte"
#. module: account_banking_make_deposit
#: field:deposit.ticket,name:0
msgid "Deposit Ticket #"
msgstr "Numéro de bordereau de dépôt"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter deposit tracking no."
msgstr "Entrer le numéro de repérage"
#. module: account_banking_make_deposit
#: field:deposit.items.line,deposit_items_id:0
msgid "Deposit Items ID"
msgstr "ID de la ligne de dépôt"
#. module: account_banking_make_deposit
#: help:deposit.ticket.line,name:0
msgid "Derived from the related Journal Item."
msgstr "Dérivée de l'écriture comptable"
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:436
#, python-format
msgid "Select Payments for Deposit"
msgstr "Sélectionner les paiements"
#. module: account_banking_make_deposit
#: field:deposit.items.line,company_id:0 field:deposit.ticket,company_id:0
#: field:deposit.ticket.line,company_id:0
msgid "Company"
msgstr "Société"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Order date"
msgstr "Date de dépôt"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "To be Reviewed"
msgstr "À réviser"
#. module: account_banking_make_deposit
#: help:deposit.ticket,deposit_method_id:0
msgid ""
"This is how the deposit was made: Examples: *Teller \n"
"*ATM \n"
"*Remote Deposit Capture \n"
"*Online Deposit Capture \n"
"*Night Drop"
msgstr "Indique comment le dépôt est effectué."
#. module: account_banking_make_deposit
#: help:deposit.ticket.line,amount:0
msgid "Derived from the 'debit' amount from related Journal Item."
msgstr "Dérivé du montant de débit de l'écriture comptable."
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "_Select All"
msgstr "Sélectionner Tout"
#. module: account_banking_make_deposit
#: field:deposit.items.line,move_line_id:0
#: field:deposit.ticket.line,move_line_id:0
msgid "Journal Item"
msgstr "Écriture Comptable"
#. module: account_banking_make_deposit
#: field:deposit.items.line,amount:0 field:deposit.ticket,amount:0
#: field:deposit.ticket.line,amount:0
msgid "Amount"
msgstr "Montant"
#. module: account_banking_make_deposit
#: help:deposit.ticket,journal_id:0
msgid "The Journal to hold accounting entries."
msgstr "Le journal dans lequel sera comptabilisé le dépôt."
#. module: account_banking_make_deposit
#: field:deposit.ticket,ticket_line_ids:0
#: model:ir.model,name:account_banking_make_deposit.model_deposit_ticket_line
msgid "Deposit Ticket Line"
msgstr "Ligne de bordereau de dépôt"
#. module: account_banking_make_deposit
#: field:deposit.items.line,ref:0 field:deposit.ticket.line,ref:0
msgid "Reference"
msgstr "Référence"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Group By..."
msgstr "Grouper par.."
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit Tickets"
msgstr "Bordereau de dépôt"
#. module: account_banking_make_deposit
#: field:deposit.ticket,period_id:0
msgid "Force Period"
msgstr "Forcer la période"
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "_Cancel"
msgstr "Annuler"
#. module: account_banking_make_deposit
#: help:deposit.ticket,memo:0
msgid "Memo for the deposit ticket"
msgstr "Mémo pour le bordereau de dépôt"
#. module: account_banking_make_deposit
#: field:deposit.items.line,partner_id:0
#: field:deposit.ticket.line,partner_id:0
msgid "Partner"
msgstr "Partenaire"
#. module: account_banking_make_deposit
#: field:deposit.ticket,move_id:0
msgid "Journal Entry"
msgstr "Écriture comptable"
#. module: account_banking_make_deposit
#: field:deposit.items.line,draft_assigned:0
msgid "Select"
msgstr "Sélectionner"
#. module: account_banking_make_deposit
#: field:deposit.ticket,deposit_bag_no:0
msgid "Deposit Bag No"
msgstr "Enveloppe de dépôt"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter Account Name (from)"
msgstr "Entrez le nom du compte (source)"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter journal name"
msgstr "Entrez le nom du journal"
#. module: account_banking_make_deposit
#: help:deposit.ticket,company_id:0
msgid "The Company for which the deposit ticket is made to"
msgstr "La société pour laquelle le dépôt est fait."
#. module: account_banking_make_deposit
#: help:deposit.ticket,period_id:0
msgid "Keep empty to use the period of the validation date."
msgstr "Conserver vide si la période est celle de la date de validation."
#. module: account_banking_make_deposit
#: view:deposit.ticket:0 field:deposit.ticket,state:0
msgid "State"
msgstr "État"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Tracking Information"
msgstr "Information de repérage"
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket_line.py:84
#, python-format
msgid ""
"You cannot add any new deposit ticket line manually as of this revision! "
"Please use the button \"Add Deposit Items\" to add deposit ticket line!"
msgstr ""
"Vous ne pouvex pas ajouter de ligne manuellement dans la version courante. "
"Veuillez utiliser le bouton \"Ajouter des lignes de dépôt\"."
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter Account Name (to)"
msgstr "Entrez le nom du compte"
#. module: account_banking_make_deposit
#: help:deposit.ticket,prepared_by_user_id:0
#: help:deposit.ticket,verified_by_user_id:0
msgid ""
"Entered automatically by the “last user” who saved it. System generated."
msgstr "Dernier usager à avoir modifier le document. Généré par le système."
#. module: account_banking_make_deposit
#: field:deposit.ticket,count_total:0
msgid "Total Items"
msgstr "Total général"
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "_Unselect All"
msgstr "Désélectionner Tout"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Open Periods"
msgstr "Périodes Ouvertes"
#. module: account_banking_make_deposit
#: help:deposit.ticket,amount:0
msgid ""
"Calculates the Total of All Deposit Lines This is the Total Amount of "
"Deposit."
msgstr "Calcule le total des lignes de dépôt."
#. module: account_banking_make_deposit
#: field:deposit.ticket,deposit_method_id:0
#: model:ir.actions.act_window,name:account_banking_make_deposit.action_deposit_method
#: model:ir.model,name:account_banking_make_deposit.model_deposit_method
msgid "Deposit Method"
msgstr "Méthode de dépôt"
#. module: account_banking_make_deposit
#: help:deposit.ticket,bank_tracking_no:0
msgid ""
"This field is used to hold a tracking number provided by the bank/financial "
"institution often used in Remote Deposit Capture on a deposit receipt. "
"Entered after deposit occurs."
msgstr "Numéro de repérage fourni par la banque ou l'institution financière."
#. module: account_banking_make_deposit
#: help:deposit.method,name:0
msgid "Name of the method used for deposit"
msgstr "Méthode utilisée pour le dépôt."
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:63
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:120
#, python-format
msgid "User Error"
msgstr "Erreur de validation"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit Tickets that have been processed"
msgstr "Dépôts terminés"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Other Information"
msgstr "Autres informations"
#. module: account_banking_make_deposit
#: field:deposit.ticket,bank_tracking_no:0
msgid "Deposit Tracking No"
msgstr "Numéro de repérage"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
#: model:ir.actions.act_window,name:account_banking_make_deposit.action_view_add_deposit_items
#: model:ir.model,name:account_banking_make_deposit.model_add_deposit_items
msgid "Add Deposit Items"
msgstr "Ajouter des lignes de dépôt"
#. module: account_banking_make_deposit
#: help:deposit.ticket,deposit_to_account_id:0
msgid "The Bank/Gl Account the Deposit is being made to."
msgstr "Le compte de destination"
#. module: account_banking_make_deposit
#: help:deposit.ticket,deposit_from_account_id:0
msgid "The Bank/GL Account the Payments are currently found in."
msgstr "Le compte de provenance du dépôt"
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "Select Payments to Deposit"
msgstr "Sélectionner les paiements"
#. module: account_banking_make_deposit
#: help:deposit.ticket,verified_date:0
msgid "Date in which Deposit Ticket was verified."
msgstr "Date de validation du dépôt"
#. module: account_banking_make_deposit
#: model:ir.actions.report.xml,name:account_banking_make_deposit.report_deposit_ticket
msgid "Internal Deposit Ticket"
msgstr "Bordereau de paiement"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter period"
msgstr "Entrez la période"
#. module: account_banking_make_deposit
#: view:add.deposit.items:0
msgid "_OK"
msgstr "Valider"
#. module: account_banking_make_deposit
#: model:ir.model,name:account_banking_make_deposit.model_deposit_items_line
msgid "Deposit Items Line"
msgstr "Lignes de dépôt"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter user name who varified"
msgstr "Usager ayant validé le dépôt"
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:67
#, python-format
msgid ""
"Only a member of '%s' group may delete/edit deposit tickets when not in "
"draft state!"
msgstr ""
"Seulement un membre du groupe %s peut suprimer un dépôt qui n'est pas à "
"l'état brouillon."
#. module: account_banking_make_deposit
#: help:deposit.ticket.line,move_line_id:0
msgid "Related Journal Item."
msgstr "Écritures comptables associées"
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:237
#: view:deposit.ticket:0
#, python-format
msgid "Draft"
msgstr "Brouillon"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Set to Draft"
msgstr "Mettre à brouillon"
#. module: account_banking_make_deposit
#: field:deposit.ticket,verified_by_user_id:0
msgid "Verified By"
msgstr "Validé par"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit Tickets that haven't yet been confirmed"
msgstr "Dépôts non validés"
#. module: account_banking_make_deposit
#: help:deposit.ticket,deposit_bag_no:0
msgid "Deposit Bag number for courier transit."
msgstr "Enveloppe de dépôt pour courier transit"
#. module: account_banking_make_deposit
#: field:deposit.ticket,deposit_from_account_id:0
msgid "Deposit From Acct"
msgstr "Compte de provenance"
#. module: account_banking_make_deposit
#: report:addons/account_banking_make_deposit/report/deposit_ticket.mako:0
#: view:deposit.ticket:0
msgid "Deposit Ticket Lines"
msgstr "Lignes de dépôt"
#. module: account_banking_make_deposit
#: field:deposit.items.line,date:0 field:deposit.ticket.line,date:0
msgid "Date"
msgstr "Date"
#. module: account_banking_make_deposit
#: help:deposit.ticket,count_total:0
msgid "Counts the total # of line items in the deposit ticket."
msgstr "Nombre de lignes de dépôt"
#. module: account_banking_make_deposit
#: field:account.move.line,deposit_id:0 view:deposit.ticket:0
#: field:deposit.ticket.line,deposit_id:0
#: model:ir.actions.act_window,name:account_banking_make_deposit.action_deposit_ticket
#: model:ir.model,name:account_banking_make_deposit.model_deposit_ticket
msgid "Deposit Ticket"
msgstr "Bordereau de paiement"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Search Deposit Tickets"
msgstr "Chercher des bordereaux de paiement"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter deposite date"
msgstr "Entrez la date de dépôt"
#. module: account_banking_make_deposit
#: field:deposit.ticket,date:0
msgid "Date of Deposit"
msgstr "Date de dépôt"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter date of varification"
msgstr "Entrez la date de validation"
#. module: account_banking_make_deposit
#: model:ir.model,name:account_banking_make_deposit.model_account_move_line
msgid "Journal Items"
msgstr "Écritures comptables"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Prepared by me"
msgstr "Préparés par moi"
#. module: account_banking_make_deposit
#: model:ir.ui.menu,name:account_banking_make_deposit.menu_deposit_methods
msgid "Deposit Methods"
msgstr "Méthodes de dépôt"
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:115
#, python-format
msgid "Error"
msgstr "Erreur"
#. module: account_banking_make_deposit
#: model:res.groups,name:account_banking_make_deposit.group_make_deposits_preparer
msgid "Make Deposits Preparer"
msgstr "Préparateur de dépôts"
#. module: account_banking_make_deposit
#: model:ir.actions.act_window,help:account_banking_make_deposit.action_deposit_ticket
msgid ""
"With Deposit Tickets you can create new deposit tickets, by selecting and "
"grouping customer payments, supplier refunds, or other payments into a "
"Deposit Ticket. OpenERP automatically posts accounting entries for “Done” "
"deposit tickets. The GL entry for the deposit is posted into the Current "
"Period based on the date range selected."
msgstr ""
"Vous pouvez grouper des paiement client ou fournisseurs dans un même "
"bordereau de dépôt. Les écritures comptables seront créées automatiquement. "
"La période comptable est fonction de l'intervalle de dates sélectionnées."
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:116
#, python-format
msgid "Please define sequence on deposit journal"
msgstr "Veuillez définir une séquence sur le journal de dépôt"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Process"
msgstr "Effectuer le dépôt"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter memo"
msgstr "Entrez le mémo"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Period"
msgstr "Période"
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:239
#: view:deposit.ticket:0
#, python-format
msgid "Done"
msgstr "Terminé"
#. module: account_banking_make_deposit
#: field:deposit.ticket,verified_date:0
msgid "Verified Date"
msgstr "Date de validation"
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:240
#: view:deposit.ticket:0
#, python-format
msgid "Cancel"
msgstr "Annuler"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter deposit method"
msgstr "Entrez la méthode de dépôt"
#. module: account_banking_make_deposit
#: field:deposit.ticket,prepared_by_user_id:0
msgid "Prepared By"
msgstr "Préparé par"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter deposit bag no."
msgstr "Entrez le numéro d'enveloppe"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Enter user name who prepared"
msgstr "Entrez l'usager qui a préparé la dépôt"
#. module: account_banking_make_deposit
#: help:deposit.ticket.line,company_id:0 help:deposit.ticket.line,date:0
#: help:deposit.ticket.line,partner_id:0 help:deposit.ticket.line,ref:0
msgid "Derived from related Journal Item."
msgstr "Dérivé de l'écriture de journal"
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:238
#: view:deposit.ticket:0
#, python-format
msgid "Ready for Review"
msgstr "Prêt pour la révision"
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket_line.py:83
#: code:addons/account_banking_make_deposit/wizard/add_deposit_items.py:151
#, python-format
msgid "Processing Error"
msgstr "Erreur de validation"
#. module: account_banking_make_deposit
#: field:deposit.ticket,deposit_to_account_id:0
msgid "Deposit To Acct"
msgstr "Compte de destination"
#. module: account_banking_make_deposit
#: field:deposit.ticket,journal_id:0
msgid "Journal"
msgstr "Journal"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit Tickets that are ready for review"
msgstr "Bordereaux de dépôt prêts pour la révision"
#. module: account_banking_make_deposit
#: model:ir.ui.menu,name:account_banking_make_deposit.menu_make_deposit_tickets
msgid "Make Deposits"
msgstr "Préparer un dépôt"
#. module: account_banking_make_deposit
#: field:add.deposit.items,name:0 field:deposit.items.line,name:0
#: field:deposit.method,name:0 field:deposit.ticket.line,name:0
msgid "Name"
msgstr "Nom"
#. module: account_banking_make_deposit
#: help:deposit.ticket,date:0
msgid "The Date of the Deposit Ticket."
msgstr "Date du dépôt"
#. module: account_banking_make_deposit
#: field:add.deposit.items,deposit_items_line_ids:0
msgid "Lines"
msgstr "Lignes"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Verified by me"
msgstr "Vérifiés par moi"
#. module: account_banking_make_deposit
#: view:deposit.ticket:0
msgid "Deposit To Account"
msgstr "Dépôt dans le compte"
#. module: account_banking_make_deposit
#: help:account.move.line,draft_assigned:0
msgid ""
"This field is checked when the move line is assigned to a draft deposit "
"ticket. The deposit ticket is not still completely processed"
msgstr "Cochez cette case pour ajouter la ligne au bordereau de paiement."
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/wizard/add_deposit_items.py:152
#, python-format
msgid "You cannot add any new deposit line item manually as of this revision!"
msgstr "Vous ne pouvez pas créer de ligne de dépôt manuellement."
#. module: account_banking_make_deposit
#: code:addons/account_banking_make_deposit/models/deposit_ticket.py:121
#, python-format
msgid "Cannot create move on centralised journal"
msgstr ""
"Vous ne pouvez pas créer d'écriture comptable dans un journal centralisé."
#. module: account_banking_make_deposit
#: model:res.groups,name:account_banking_make_deposit.group_make_deposits_verifier
msgid "Make Deposits Verifier"
msgstr "Vérificateur de dépôt"
#. module: account_banking_make_deposit
#: help:deposit.ticket,name:0
msgid "Each deposit will have a unique sequence ID. System generated."
msgstr "Chaque dépôt a un identifiant séquentiel unique généré par le système."
#. module: account_banking_make_deposit
#: field:account.move.line,draft_assigned:0
msgid "Draft Assigned"
msgstr "Assigné"
#. module: account_banking_make_deposit
#: field:deposit.ticket,memo:0
msgid "Memo"
msgstr "Mémo"
#~ msgid "Ref"
#~ msgstr "Référence"
#~ msgid "Deposit Date"
#~ msgstr "Date de dépôt"
#~ msgid "Customer"
#~ msgstr "Client"

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from . import deposit_ticket
from . import deposit_ticket_line
from . import deposit_method
from . import account_move_line

View File

@@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from openerp.osv import orm, fields
class account_move_line(orm.Model):
"""Account move line."""
_inherit = 'account.move.line'
_columns = {
'draft_assigned': fields.boolean(
'Draft Assigned',
help=(
"This field is checked when the move line is assigned "
"to a draft deposit ticket. The deposit ticket is not "
"still completely processed"
),
),
'deposit_id': fields.many2one(
'deposit.ticket',
'Deposit Ticket'
)
}

View File

@@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from openerp.osv import fields, orm
class deposit_method(orm.Model):
_name = "deposit.method"
_description = "Deposit Method"
_columns = {
'name': fields.char(
'Name', size=64,
required=True,
help='Name of the method used for deposit'
)
}

View File

@@ -0,0 +1,446 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
import time
from openerp.osv import fields, orm
from openerp.tools.translate import _
import decimal_precision as dp
class deposit_ticket(orm.Model):
_name = "deposit.ticket"
_description = "Deposit Ticket"
def check_group(self, cr, uid, ids, context=None):
"""
Check if following security constraints are implemented for groups:
Make Deposits Preparer - they can create, view and delete any of the
Deposit Tickets provided the Deposit Ticket is not in the DONE state,
or the Ready for Review state.
Make Deposits Verifier - they can create, view, edit, and delete any of
the Deposits Tickets information at any time.
NOTE: DONE Deposit Tickets are only allowed to be deleted by a
Make Deposits Verifier.
"""
model_data_obj = self.pool.get('ir.model.data')
res_groups_obj = self.pool.get('res.groups')
group_verifier_id = model_data_obj._get_id(
cr, uid,
'account_banking_make_deposit', 'group_make_deposits_verifier'
)
for deposit in self.browse(cr, uid, ids, context=context):
if group_verifier_id:
res_id = model_data_obj.read(
cr, uid, [group_verifier_id], ['res_id']
)[0]['res_id']
group_verifier = res_groups_obj.browse(
cr, uid, res_id, context=context
)
group_user_ids = [user.id for user in group_verifier.users]
if deposit.state != 'draft' and uid not in group_user_ids:
raise orm.except_orm(
_('User Error'),
_(
"Only a member of '%s' group may delete/edit "
"deposit tickets when not in draft state!" %
(group_verifier.name)
)
)
return True
def unlink(self, cr, uid, ids, context=None):
# Check if the user is allowed to perform the action
self.check_group(cr, uid, ids, context)
# Call the method necessary to remove the changes made earlier
self.remove_all(cr, uid, ids, context=context)
return super(deposit_ticket, self).unlink(
cr, uid, ids, context=context
)
def write(self, cr, uid, ids, vals, context=None):
# Check if the user is allowed to perform the action
self.check_group(cr, uid, ids, context)
return super(deposit_ticket, self).write(
cr, uid, ids, vals, context=context
)
def action_cancel(self, cr, uid, ids, context=None):
# Call the method necessary to remove the changes made earlier
self.remove_all(cr, uid, ids, context=context)
self.write(cr, uid, ids, {'state': 'cancel'}, context=context)
return True
def action_review(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {
'state': 'to_be_reviewed',
'prepared_by_user_id': uid
}, context=context)
return True
def action_process(self, cr, uid, ids, context=None):
"""
Do the following:
1.The 'Verifier By' field is populated by the name of the Verifier.
2.The 'Deposit Ticket #' field is populated.
3.The account.move.lines are updated and written with
the 'Deposit Ticket #'
4.The status field is updated to "Done"
5.New GL entries are made.
"""
move_lines = []
for deposit in self.browse(cr, uid, ids, context=context):
if not deposit.journal_id.sequence_id:
raise orm.except_orm(
_('Error'),
_('Please define sequence on deposit journal')
)
if deposit.journal_id.centralisation:
raise orm.except_orm(
_('User Error'),
_('Cannot create move on centralised journal')
)
# Create the move lines first
move_lines.append(
(0, 0, self.get_move_line(cr, uid, deposit, 'src'))
)
move_lines.append(
(0, 0, self.get_move_line(cr, uid, deposit, 'dest'))
)
# Create the move for the deposit
move = {
'ref': deposit.deposit_bag_no,
'name': '/',
'line_id': move_lines,
'journal_id': deposit.journal_id.id,
'date': deposit.date,
'narration': deposit.deposit_bag_no,
'deposit_id': deposit.id
}
move_id = self.pool.get('account.move').create(
cr, uid, move, context=context
)
# Post the account move
self.pool.get('account.move').post(cr, uid, [move_id])
# Link the move with the deposit and populate other fields
self.write(cr, uid, [deposit.id], {
'move_id': move_id,
'state': 'done',
'verified_by_user_id': uid,
'verified_date': time.strftime('%Y-%m-%d')
}, context=context)
return True
def get_move_line(self, cr, uid, deposit, type, context=None):
return {
'type': type,
'name': deposit.name or '/',
'debit': type == 'dest' and deposit.amount or 0.0,
'credit': type == 'src' and deposit.amount or 0.0,
'account_id': (
type == 'src' and
deposit.deposit_from_account_id.id or
deposit.deposit_to_account_id.id
),
'date': deposit.date,
'ref': deposit.deposit_bag_no or '',
'deposit_id': deposit.id
}
def remove_all(self, cr, uid, ids, context=None):
"""
Reset the deposit ticket to draft state,
and remove the entries associated with the DONE transactions (
account moves, updating account.move.lines, resetting preparer
and verifier and verified date fields.
Reflect all changes necessary.
"""
account_move_line_obj = self.pool.get('account.move.line')
account_move_obj = self.pool.get('account.move')
move_line_ids = []
vals = {
'draft_assigned': False,
'deposit_id': False
}
for deposit in self.browse(cr, uid, ids, context=context):
move_line_ids = map(lambda x: x.move_line_id.id,
deposit.ticket_line_ids)
if deposit.move_id:
# Cancel the posted account move
account_move_obj.button_cancel(
cr, uid, [deposit.move_id.id], context=context
)
# Finally, delete the account move
account_move_obj.unlink(
cr, uid, [deposit.move_id.id], context=context
)
vals['draft_assigned'] = True
account_move_line_obj.write(
cr, uid, move_line_ids, vals, context=context
)
return True
def action_cancel_draft(self, cr, uid, ids, context=None):
# Call the method necessary to remove the changes made earlier
self.remove_all(cr, uid, ids, context=context)
self.write(cr, uid, ids, {
'state': 'draft',
'verified_by_user_id': False,
'verified_date': False,
'prepared_by_user_id': False
}, context=context)
return True
def _get_period(self, cr, uid, context=None):
periods = self.pool.get('account.period').find(cr, uid)
return periods and periods[0] or False
def _get_amount(self, cr, uid, ids, name, args, context=None):
res = {}
for deposit in self.browse(cr, uid, ids, context=context):
sum = 0.0
for line in deposit.ticket_line_ids:
sum += line.amount
res[deposit.id] = sum
return res
def _get_count_total(self, cr, uid, ids, name, args, context=None):
res = {}
for deposit in self.browse(cr, uid, ids, context=context):
res[deposit.id] = len(deposit.ticket_line_ids)
return res
def get_deposit_states(self, cr, uid, context=None):
return [
('draft', _('Draft')),
('to_be_reviewed', _('Ready for Review')),
('done', _('Done')),
('cancel', _('Cancel')),
]
def get_state(self, cr, uid, ids, context=None):
if isinstance(ids, (int, long)):
ids = [ids]
assert len(ids) == 1, 'Expected one record'
deposit = self.browse(cr, uid, ids[0], context=context)
states = {
s[0]: s[1] for s in
self.get_deposit_states(cr, uid, context=context)
}
return states[deposit.state]
_columns = {
'memo': fields.char(
'Memo',
size=64,
states={'done': [('readonly', True)]},
help="Memo for the deposit ticket",
),
'deposit_to_account_id': fields.many2one(
'account.account',
'Deposit To Acct',
required=True,
states={'done': [('readonly', True)]},
domain="[('company_id', '=', company_id), ('type', '!=', 'view')]",
help="The Bank/Gl Account the Deposit is being made to.",
),
'deposit_from_account_id': fields.many2one(
'account.account',
'Deposit From Acct',
required=True,
states={'done': [('readonly', True)]},
domain="[('company_id', '=', company_id), ('type', '!=', 'view')]",
help="The Bank/GL Account the Payments are currently found in.",
),
'date': fields.date(
'Date of Deposit',
required=True,
states={'done': [('readonly', True)]},
help="The Date of the Deposit Ticket."
),
'journal_id': fields.many2one(
'account.journal',
'Journal',
required=True,
states={'done': [('readonly', True)]},
help="The Journal to hold accounting entries."
),
'company_id': fields.many2one(
'res.company',
'Company',
required=True,
readonly=True,
help="The Company for which the deposit ticket is made to"
),
'period_id': fields.many2one(
'account.period',
'Force Period',
required=True,
states={'done': [('readonly', True)]},
help="The period used for the accounting entries.",
),
'deposit_method_id': fields.many2one(
'deposit.method',
'Deposit Method',
states={'done': [('readonly', True)]},
help=(
"This is how the deposit was made: Examples: "
"*Teller \n"
"*ATM \n"
"*Remote Deposit Capture \n"
"*Online Deposit Capture \n"
"*Night Drop"
)
),
'verified_date': fields.date(
'Verified Date',
states={'done': [('readonly', True)]},
help="Date in which Deposit Ticket was verified."
),
'prepared_by_user_id': fields.many2one(
'res.users',
'Prepared By',
states={'done': [('readonly', True)]},
help=(
"Entered automatically by the “last user” who saved it."
" System generated."
),
),
'verified_by_user_id': fields.many2one(
'res.users',
'Verified By',
states={'done': [('readonly', True)]},
help=(
"Entered automatically by the “last user”"
" who saved it. System generated."
),
),
'deposit_bag_no': fields.char(
'Deposit Bag No',
size=64,
states={'done': [('readonly', True)]},
help="Deposit Bag number for courier transit."
),
'bank_tracking_no': fields.char(
'Deposit Tracking No',
size=64,
help=(
"This field is used to hold a tracking number provided "
"by the bank/financial institution often used in Remote "
"Deposit Capture on a deposit receipt. "
"Entered after deposit occurs."
),
),
'move_id': fields.many2one(
'account.move',
'Journal Entry',
readonly=True,
select=1,
help="Link to the automatically generated Journal Items."
),
'name': fields.related(
'move_id',
'name',
type='char',
readonly=True,
size=64,
relation='account.move',
string='Deposit Ticket #',
help=(
"Each deposit will have a unique sequence ID. "
"System generated."
),
),
'ticket_line_ids': fields.one2many(
'deposit.ticket.line',
'deposit_id',
'Deposit Ticket Line',
states={'done': [('readonly', True)]}
),
'amount': fields.function(
_get_amount,
method=True,
string='Amount',
digits_compute=dp.get_precision('Account'),
type='float',
help=(
"Calculates the Total of All Deposit Lines "
"This is the Total Amount of Deposit."
),
),
'count_total': fields.function(
_get_count_total,
method=True,
type='float',
string='Total Items',
help="Counts the total # of line items in the deposit ticket."
),
'state': fields.selection(
lambda self, cr, uid, context={}: self.get_deposit_states(
cr, uid, context=context),
'State',
select=True,
readonly=True
),
}
_defaults = {
'state': 'draft',
'period_id': _get_period,
'date': time.strftime('%Y-%m-%d'),
'company_id': (
lambda self, cr, uid, c:
self.pool.get('res.users').browse(
cr, uid, uid, c
).company_id.id
),
}
# the most recent deposits displays first
_order = "date desc"
def add_deposit_items(self, cr, uid, ids, context=None):
"""
Display the wizard to allow the 'Deposit Preparer'
to select payments for deposit.
"""
if context is None:
context = {}
return {
'name': _("Select Payments for Deposit"),
'view_mode': 'form',
'view_id': False,
'view_type': 'form',
'res_model': 'add.deposit.items',
'type': 'ir.actions.act_window',
'nodestroy': True,
'target': 'new',
'domain': '[]',
'context': dict(context, active_ids=ids)
}

View File

@@ -0,0 +1,110 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from openerp.osv import fields, orm
from openerp.tools.translate import _
import decimal_precision as dp
class deposit_ticket_line(orm.Model):
_name = "deposit.ticket.line"
_description = "Deposit Ticket Line"
_columns = {
'name': fields.char(
'Name',
size=64,
required=True,
help="Derived from the related Journal Item."
),
'ref': fields.char(
'Reference',
size=64,
help="Derived from related Journal Item."
),
'partner_id': fields.many2one(
'res.partner',
string='Partner',
help="Derived from related Journal Item."
),
'amount': fields.float(
'Amount',
digits_compute=dp.get_precision('Account'),
help="Derived from the 'debit' amount from related Journal Item."
),
'date': fields.date(
'Date',
required=True,
help="Derived from related Journal Item."
),
'deposit_id': fields.many2one(
'deposit.ticket',
'Deposit Ticket',
required=True,
ondelete='cascade'
),
'company_id': fields.related(
'deposit_id',
'company_id',
type='many2one',
relation='res.company',
string='Company',
readonly=True,
help="Derived from related Journal Item."
),
'move_line_id': fields.many2one(
'account.move.line',
'Journal Item',
help="Related Journal Item."
),
}
def create(self, cr, uid, vals, context=None):
# Any Line cannot be manually added. Use the wizard to add lines.
if not vals.get('move_line_id', False):
raise orm.except_orm(
_('Processing Error'),
_(
'You cannot add any new deposit ticket line '
'manually as of this revision! '
'Please use the button "Add Deposit '
'Items" to add deposit ticket line!'
)
)
return super(deposit_ticket_line, self).create(
cr, uid, vals, context=context
)
def unlink(self, cr, uid, ids, context=None):
"""
Set the 'draft_assigned' field to False for related account move
lines to allow to be entered for another deposit.
"""
account_move_line_obj = self.pool.get('account.move.line')
move_line_ids = [
line.move_line_id.id
for line in self.browse(cr, uid, ids, context=context)
]
account_move_line_obj.write(
cr, uid, move_line_ids, {'draft_assigned': False}, context=context
)
return super(deposit_ticket_line, self).unlink(
cr, uid, ids, context=context
)

View File

@@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from . import deposit_ticket

View File

@@ -0,0 +1,141 @@
<html>
<head>
<style type="text/css">
.tablehead
{
border:1px solid #C0C0C0;
font-weight: bold;
}
td
{
border: 1px solid #C0C0C0;
}
th
{
font-weight:bold;
text-align: left;
}
#noborder td
{
border: none;
}
#amount
{
text-align: right;
}
#company
{
text-align: center;
}
h3
{
font-size: 19px;
font-weight: 200;
}
${css}
</style>
</head>
<body>
<%page expression_filter="entity" />
<%
def carriage_returns(text):
return text.replace('\n', '<br />')
%>
%for deposit_ticket in objects:
<% setLang(user.lang) %>
<h1 style="clear:both;">${deposit_ticket.name or ''}</h1>
<table class="basic_table" width="100%" cellspacing="0">
<tr class="tablehead">
<td>${_("Deposit From Account")}</td>
<td>${_("Deposit To Account")}</td>
<td>${_("Deposit Date")}</td>
<td>${_("Journal")}</td>
<td>${_("Force Period")}</td>
<td>${_("Company")}</td>
</tr>
<tr>
<td>${deposit_ticket.deposit_from_account_id.name}</td>
<td>${deposit_ticket.deposit_to_account_id.name}</td>
<td>${formatLang(deposit_ticket.date, date=True)}</td>
<td>${deposit_ticket.journal_id and deposit_ticket.journal_id.name}</td>
<td>${deposit_ticket.period_id.name}</td>
<td>${deposit_ticket.company_id and deposit_ticket.company_id.name or ''}</td>
</tr>
</table>
<br />
<table class="basic_table" width="100%" cellspacing="0">
<tr class="tablehead">
<td>${_("Deposit Method")}</td>
<td>${_("Deposit Bag No")}</td>
<td>${_("Deposit Tracking No")}</td>
<td>${_("Total Items")}</td>
<td>${_("Amount")}</td>
<td>${_("Memo")}</td>
</tr>
<tr>
<td>${deposit_ticket.deposit_method_id and deposit_ticket.deposit_method_id.name or ''}</td>
<td>${deposit_ticket.deposit_bag_no or ''}</td>
<td>${deposit_ticket.bank_tracking_no or ''}</td>
<td class="amount">${formatLang(deposit_ticket.count_total)}</td>
<td class="amount">${formatLang(deposit_ticket.amount)}</td>
<td>${deposit_ticket.memo or ''}</td>
</tr>
</table>
<br />
<table class="basic_table" width="100%" cellspacing="0">
<tr class="tablehead">
<td>${_("Prepared By")}</td>
<td>${_("Verified By")}</td>
<td>${_("Verified Date")}</td>
<td>${_("State")}</td>
</tr>
<tr>
<td>${deposit_ticket.prepared_by_user_id and deposit_ticket.prepared_by_user_id.name or ''}</td>
<td>${deposit_ticket.verified_by_user_id and deposit_ticket.verified_by_user_id.name or ''}</td>
<td>${formatLang(deposit_ticket.verified_date or '',date=True)}</td>
<td>${deposit_ticket.get_state()}</td>
</tr>
</table>
<br />
<h3>${_("Deposit Ticket Lines")}</h3>
<table class="list_table" width="100%" style="margin-top: 20px;" cellspacing="0" >
<tr>
<th>${_("Date")}</th>
<th>${_("Name")}</th>
<th>${_("Ref")}</th>
<th>${_("Customer")}</th>
<th class="amount">${_("Amount")}</th>
<th class="company">${_("Company")}</th>
</tr>
%for line in deposit_ticket.ticket_line_ids:
<tr id="noborder">
<td> ${formatLang(line.date, date=True)}</td>
<td> ${line.name}</td>
<td> ${line.ref or ''}</td>
<td> ${line.partner_id.name or ''}</td>
<td class="amount"> ${formatLang(line.amount or '')}</td>
<td class="company"> ${line.company_id.name or ''}</td>
</tr>
%endfor
</table>
<br />
%endfor
</body>
</html>

View File

@@ -0,0 +1,42 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
import time
from openerp.report import report_sxw
class deposit_ticket_webkit(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(deposit_ticket_webkit, self).__init__(
cr, uid, name, context=context
)
self.localcontext.update({
'time': time,
'cr': cr,
'uid': uid,
})
report_sxw.report_sxw(
'report.deposit.ticket.webkit',
'deposit.ticket',
'addons/deposit_ticket_report_webkit/report/deposit_ticket.mako',
parser=deposit_ticket_webkit
)

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report
id="report_deposit_ticket"
model="deposit.ticket"
auto="False"
name="deposit.ticket"
file="account_banking_make_deposit/report/deposit_ticket.mako"
string="Internal Deposit Ticket"
report_type="webkit" />
</data>
</openerp>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Groups - Make Deposits Preparer , Make Deposits Verifier -->
<record id="group_make_deposits_preparer" model="res.groups">
<field name="name">Make Deposits Preparer</field>
</record>
<record id="group_make_deposits_verifier" model="res.groups">
<field name="name">Make Deposits Verifier</field>
</record>
<record id="account.group_account_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('group_make_deposits_preparer'))]"/>
</record>
<record id="account.group_account_manager" model="res.groups">
<field name="implied_ids" eval="[(4, ref('group_make_deposits_verifier'))]"/>
</record>
<!-- Security Rule for Deposit Tickets -->
<record id="account_banking_make_deposits_comp_rule" model="ir.rule">
<field name="name">Deposit Tickets</field>
<field ref="model_deposit_ticket" name="model_id"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
</data>
</openerp>

View File

@@ -0,0 +1,7 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_deposit_ticket_preparer","access.deposit.ticket.preparer","model_deposit_ticket","group_make_deposits_preparer",1,1,1,1
"access_deposit_ticket_verifier","access.deposit.ticket.verifier","model_deposit_ticket","group_make_deposits_verifier",1,1,1,1
"access_deposit_ticket_line_preparer","access.deposit.ticket.line.preparer","model_deposit_ticket_line","group_make_deposits_preparer",1,1,1,1
"access_deposit_ticket_line_verifier","access.deposit.ticket.line.verifier","model_deposit_ticket_line","group_make_deposits_verifier",1,0,0,0
"access_deposit_method_user","access.deposit.method.user","model_deposit_method","account.group_account_user",1,0,0,0
"access_deposit_method_manager","access.deposit.method.manager","model_deposit_method","account.group_account_manager",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_deposit_ticket_preparer access.deposit.ticket.preparer model_deposit_ticket group_make_deposits_preparer 1 1 1 1
3 access_deposit_ticket_verifier access.deposit.ticket.verifier model_deposit_ticket group_make_deposits_verifier 1 1 1 1
4 access_deposit_ticket_line_preparer access.deposit.ticket.line.preparer model_deposit_ticket_line group_make_deposits_preparer 1 1 1 1
5 access_deposit_ticket_line_verifier access.deposit.ticket.line.verifier model_deposit_ticket_line group_make_deposits_verifier 1 0 0 0
6 access_deposit_method_user access.deposit.method.user model_deposit_method account.group_account_user 1 0 0 0
7 access_deposit_method_manager access.deposit.method.manager model_deposit_method account.group_account_manager 1 1 1 1

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Journal Item -->
<record id="view_account_move_line_deposit_id" model="ir.ui.view">
<field name="name">account.move.line.deposit.id</field>
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_account_move_line_filter"/>
<field name="arch" type="xml">
<field name="period_id" position="after">
<field name="deposit_id"/>
</field>
</field>
</record>
<record id="view_account_move_line_form_deposit_id" model="ir.ui.view">
<field name="name">account.move.line.form.deposit.id</field>
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_form"/>
<field name="arch" type="xml">
<field name="statement_id" position="after">
<field name="deposit_id"/>
</field>
</field>
</record>
</data>
</openerp>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Deposit Method -->
<record id="action_deposit_method" model="ir.actions.act_window">
<field name="name">Deposit Method</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">deposit.method</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem
id="menu_deposit_methods"
name="Deposit Methods"
parent="account.menu_configuration_misc"
action="action_deposit_method"
sequence="8" />
</data>
</openerp>

View File

@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Bank Deposit Ticket -->
<record id="view_deposit_ticket_tree" model="ir.ui.view">
<field name="name">deposit.ticket.tree</field>
<field name="model">deposit.ticket</field>
<field name="priority">2</field>
<field name="arch" type="xml">
<tree string="Deposit Tickets" colors="grey:state=='cancel';blue:state in ('to_be_reviewed')">
<field name="name"/>
<field name="date"/>
<field name="deposit_from_account_id"/>
<field name="deposit_to_account_id"/>
<field name="amount"/>
<field name="count_total"/>
<field name="prepared_by_user_id"/>
<field name="verified_by_user_id"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_deposit_ticket_form" model="ir.ui.view">
<field name="name">deposit.ticket.form</field>
<field name="model">deposit.ticket</field>
<field name="arch" type="xml">
<form string="Deposit Ticket" version="7.0">
<header>
<button name="action_cancel" type="object" states="draft,to_be_reviewed" string="Cancel" icon="gtk-cancel"/>
<button name="action_review" type="object" states="draft" string="Ready for Review" icon="gtk-go-forward"/>
<button name="action_process" type="object" states="to_be_reviewed" string="Process" icon="gtk-apply"/>
<button name="action_cancel_draft" states="cancel,done" string="Set to Draft" type="object" icon="gtk-convert"/>
<field name="state" widget="statusbar" nolabel="1"/>
</header>
<sheet>
<group col="4" colspan="4">
<field name="deposit_from_account_id" placeholder="Enter Account Name (from)"/>
<field name="deposit_to_account_id" placeholder="Enter Account Name (to)"/>
<field name="journal_id" placeholder="Enter journal name" domain="[('type','=','bank')]"/>
<field name="period_id" placeholder="Enter period" domain="[('state','=','draft')]"/>
<field name="date" placeholder="Enter deposite date"/>
<field name="name" />
<field name="deposit_bag_no" placeholder="Enter deposit bag no."/>
<field name="bank_tracking_no" placeholder="Enter deposit tracking no."/>
<field name="deposit_method_id" placeholder="Enter deposit method"/>
<field name="memo" placeholder="Enter memo"/>
<field name="company_id" groups="base.group_multi_company" placeholder="Enter company Name"/>
<group col="2" colspan="2">
<button name="add_deposit_items" states="draft,to_be_reviewed" string="Add Deposit Items" type="object" icon="gtk-execute"/>
</group>
</group>
<notebook colspan="5">
<page string="Deposit Ticket Lines">
<field colspan="4" mode="tree" name="ticket_line_ids" widget="one2many_list" nolabel="1">
<tree string="Deposit Ticket Lines">
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
<form string="Deposit Ticket Lines" version="7.0">
<group>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="date"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</form>
</field>
<group name="calculation" col="4" colspan="2">
<field name="amount"/>
<field name="count_total"/>
</group>
</page>
<page string="Other Information">
<separator string="Tracking Information" colspan="4"/>
<group colspan="2" col="2">
<field name="verified_by_user_id" placeholder="Enter user name who varified"/>
<field name="prepared_by_user_id" placeholder="Enter user name who prepared"/>
<field name="verified_date" placeholder="Enter date of varification"/>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="view_deposit_ticket_filter" model="ir.ui.view">
<field name="name">deposit.ticket.select</field>
<field name="model">deposit.ticket</field>
<field name="arch" type="xml">
<search string="Search Deposit Tickets">
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Deposit Tickets that haven't yet been confirmed"/>
<filter icon="terp-dolar" string="To be Reviewed" domain="[('state','=','to_be_reviewed')]" help="Deposit Tickets that are ready for review"/>
<filter icon="terp-check" string="Done" domain="[('state','=','done')]" help="Deposit Tickets that have been processed"/>
<filter name="filter_period_id_open" icon="terp-personal" string="Open Periods" domain="[('period_id.state', '=', 'draft')]"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="date" select="1" string="Order date" />
<field name="period_id"/>
<field name="journal_id" select="1"/>
<field name="deposit_from_account_id" select="1"/>
<field name="deposit_to_account_id" select="1"/>
<field name="prepared_by_user_id" select="1">
<filter domain="[('prepared_by_user_id','=',uid)]" help="Prepared by me" icon="terp-personal"/>
</field>
<field name="verified_by_user_id" select="1">
<filter domain="[('verified_by_user_id','=',uid)]" help="Verified by me" icon="terp-personal"/>
</field>
<newline/>
<group string="Group By...">
<filter string="Deposit From Account" icon="terp-personal" domain="[]" context="{'group_by':'deposit_from_account_id'}"/>
<filter string="Deposit To Account" icon="terp-personal" domain="[]" context="{'group_by':'deposit_to_account_id'}"/>
<filter string="Period" icon="terp-personal" context="{'group_by': 'period_id'}"/>
<separator orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
</record>
<record id="action_deposit_ticket" model="ir.actions.act_window">
<field name="name">Deposit Ticket</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">deposit.ticket</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_deposit_ticket_filter"/>
<field name="context">{
'search_default_filter_period_id_open': 1,
}</field>
<field name="help">With Deposit Tickets you can create new deposit tickets, by selecting and grouping customer payments, supplier refunds, or other payments into a Deposit Ticket. OpenERP automatically posts accounting entries for “Done” deposit tickets. The GL entry for the deposit is posted into the Current Period based on the date range selected.</field>
</record>
<menuitem
id="menu_make_deposit_tickets"
name="Make Deposits"
parent="account.menu_finance_bank_and_cash"
groups="group_make_deposits_preparer,group_make_deposits_verifier"
action="action_deposit_ticket"
sequence="8" />
</data>
</openerp>

View File

@@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from . import add_deposit_items

View File

@@ -0,0 +1,224 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from openerp.osv import fields, orm
from openerp.tools.translate import _
import decimal_precision as dp
class add_deposit_items(orm.TransientModel):
_name = "add.deposit.items"
_description = "Add Deposit Items"
_columns = {
'name': fields.char(
'Name',
size=64
),
'deposit_items_line_ids': fields.one2many(
'deposit.items.line',
'deposit_items_id',
'Lines'
),
}
def default_get(self, cr, uid, fields, context=None):
deposit_ticket_obj = self.pool.get('deposit.ticket')
account_move_line_obj = self.pool.get('account.move.line')
account_move = self.pool.get('account.move')
result = []
res = super(add_deposit_items, self).default_get(
cr, uid, fields, context=context
)
deposits = deposit_ticket_obj.browse(
cr, uid, context.get('active_ids', []), context=context
)
for deposit in deposits:
# Filter all the move lines which are:
# 1. Account.move.lines that are a member of the Deposit From
# GL Account and are Debits
# 2. State of the move_id == Posted
# 3. The Deposit Ticket # value is blank (null) not assigned
# 4. The account move line is not a member of another Draft/To Be
# Review (this is the list (one2many) of
#
# debit transactions displayed on the selected Account (Undeposited
# Funds Acct) including this account.
move_ids = account_move.search(
cr, uid, [('state', '=', 'posted')], context=context
)
line_ids = account_move_line_obj.search(
cr, uid,
[
('account_id', '=', deposit.deposit_from_account_id.id),
('debit', '>', 0.0),
('move_id', 'in', move_ids),
('draft_assigned', '=', False),
('deposit_id', '=', False)
],
context=context
)
lines = account_move_line_obj.browse(
cr, uid, line_ids, context=context
)
for line in lines:
result.append({
'name': line.name,
'ref': line.ref,
'amount': line.debit,
'partner_id': line.partner_id.id,
'date': line.date,
'move_line_id': line.id,
'company_id': line.company_id.id
})
if 'deposit_items_line_ids' in fields:
res.update({'deposit_items_line_ids': result})
return res
def select_all(self, cr, uid, ids, context=None):
"""Select all the deposit item lines in the wizard."""
deposit_items_line_obj = self.pool.get('deposit.items.line')
deposit_ticket_item = self.browse(cr, uid, ids[0], context=context)
line_ids = deposit_items_line_obj.search(
cr, uid,
[
('deposit_items_id', '=', deposit_ticket_item.id)
],
context=context
)
deposit_items_line_obj.write(
cr, uid, line_ids, {'draft_assigned': True}, context=context
)
return True
def unselect_all(self, cr, uid, ids, context=None):
"""Unselect all the deposit item lines in the wizard."""
deposit_items_line_obj = self.pool.get('deposit.items.line')
deposit_ticket_item = self.browse(cr, uid, ids[0], context=context)
line_ids = deposit_items_line_obj.search(
cr, uid,
[
('deposit_items_id', '=', deposit_ticket_item.id)
],
context=context
)
deposit_items_line_obj.write(
cr, uid, line_ids, {'draft_assigned': False}, context=context
)
return True
def add_deposit_lines(self, cr, uid, ids, context=None):
"""Add Deposit Items Lines as Deposit Ticket Lines for the deposit."""
deposit_ticket_obj = self.pool.get('deposit.ticket')
account_move_line_obj = self.pool.get('account.move.line')
deposit_ticket_line_obj = self.pool.get('deposit.ticket.line')
deposit_ticket_item = self.browse(cr, uid, ids[0], context=context)
deposits = deposit_ticket_obj.browse(
cr, uid, context.get('active_ids', []), context=context
)
for deposit in deposits:
# Add the deposit ticket item lines which have
# 'draft_assigned' checked
valid_items_line_ids = [
line
for line in deposit_ticket_item.deposit_items_line_ids
if line.draft_assigned
]
move_line_ids = []
for line in valid_items_line_ids:
# Any Line cannot be manually added.
# Choose only from the selected lines.
if not line.move_line_id:
raise orm.except_orm(
_('Processing Error'),
_(
'You cannot add any new deposit line item '
'manually as of this revision!'
)
)
# Creating but not using the id of the new object anywhere
deposit_ticket_line_obj.create(
cr, uid,
{
'name': line.name,
'ref': line.ref,
'amount': line.amount,
'partner_id': line.partner_id.id,
'date': line.date,
'move_line_id': line.move_line_id.id,
'company_id': line.company_id.id,
'deposit_id': deposit.id
},
context=context
)
move_line_ids.append(line.move_line_id.id)
account_move_line_obj.write(
cr, uid,
move_line_ids,
{
'draft_assigned': True
},
context=context
)
return {'type': 'ir.actions.act_window_close'}
class deposit_items_line(orm.TransientModel):
_name = "deposit.items.line"
_description = "Deposit Items Line"
_columns = {
'name': fields.char(
'Name',
size=64
),
'ref': fields.char(
'Reference',
size=64
),
'partner_id': fields.many2one(
'res.partner',
'Partner'
),
'date': fields.date(
'Date',
required=True
),
'amount': fields.float(
'Amount',
digits_compute=dp.get_precision('Account')
),
'draft_assigned': fields.boolean('Select'),
'deposit_items_id': fields.many2one(
'add.deposit.items',
'Deposit Items ID'
),
'move_line_id': fields.many2one(
'account.move.line',
'Journal Item'
),
'company_id': fields.many2one(
'res.company',
'Company'
),
}

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Add Deposit Items -->
<record id="view_add_deposit_items" model="ir.ui.view">
<field name="name">Add Deposit Items</field>
<field name="model">add.deposit.items</field>
<field name="arch" type="xml">
<form string="Select Payments for Deposit" version="7.0" >
<header>
<button name="select_all" string="_Select All" type="object" icon="gtk-apply"/>
<button name="unselect_all" string="_Unselect All" type="object" icon="gtk-cancel"/>
<button special="cancel" string="_Cancel" icon="gtk-cancel"/>
<button name="add_deposit_lines" string="_OK" type="object" icon="gtk-apply"/>
</header>
<sheet>
<field colspan="4" mode="tree" name="deposit_items_line_ids" nolabel="1" widget="one2many_list" width="550">
<tree string="Select Payments to Deposit" editable="top">
<field name="draft_assigned"/>
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="move_line_id"/>
</tree>
<form string="Select Payments to Deposit" version="7.0">
<group>
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="move_line_id"/>
</group>
</form>
</field>
</sheet>
</form>
</field>
</record>
<record id="action_view_add_deposit_items" model="ir.actions.act_window">
<field name="name">Add Deposit Items</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">add.deposit.items</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_add_deposit_items"/>
<field name="target">new</field>
</record>
</data>
</openerp>

View File

@@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from . import report
from . import models

View File

@@ -0,0 +1,200 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
{
'name': 'Bank Account Reconciliation',
'version': '1.7',
'category': 'Accounting and Financial Management',
'description': """
This module is designed to provide an easy method in which OpenERP
accounting users can manually reconcile/validate their financial
transactions from their financial institution/transaction providers
(e.g. Paypal, A financial institution, google wallet, etc) against
OpenERP GL Chart of Account bank accounts.
Users will be able to validate and indicate if a transaction has
"Cleared the Bank" using a checkmark on a new Reconcile Financial
Account Statement view on each individual financial transaction.
Users will also be able to mark transactions on a bank account for
future research.
The idea is that as a first step users will manually look at their
paper statement and line-by-line check off which financial
transactions have cleared the bank in OpenERP using the new Bank
Reconciliation Wizard. These changes will be displayed on the new
Reconcile Financial Account Statement tree view screen. This is the
process in which many companies reconcile (aka Audit) their bank
account statements and accounting system today and represents good
segregation of duties
Users can save their in-process reconciliations.
BACKGROUND
Using the search view filters - users will also be able to effectively
sort, filter the transactions on a particular GL Financial Account.
This new screen will display the journal items associated with a
particular bank account. Several of the field labels have been
relabeled to a more common vernacular.
(Future) Phase II of the project - will extend this module to include
a wizard to pre-filter the tree view, and include additional reports
for accountants. And include the ability to execute quick entry of
common statement related transactions such as recording bank service
fees (an Expense), and Interest Income Earned on the bank account
(Income), when allowed by law. Often, companies will print their
reconciliation, staple it to their bank statement and file the documents
for future review and audit.
(Future) Phase III of the project will extend this module to include
more information to add further clarity throughout OpenERP for financial
transactions, and include the ability to quickly compare an imported bank
statement with a GL Bank Account's recorded transaction, including
autoreconciling them - and providing the information available for review
The need for this module is driven by the following:
OpenERP's default functionality doesn't support the typical "BANK" account
reconciliation process found in many countries (e.g. the US)
Users want to easily record whether bank transactions sent to their bank
have "cleared the bank"- definition of "cleared the bank": presented to
the bank for payment and paid by the bank - added/subtracted funds on
a bank account.
Users want the ability to validate if the bank processed the transactions
them correctly (e.g. properly encoded transaction - e.g. company sent a
payment of $20.20 to the bank. Was it processed for $20.20?). This can
be considered "Auditing the bank statement". We don't assume the bank
correctly processed any transaction.
Users want to understand what payments they've made are still outstanding
and have not been paid by the bank.
The financial auditing segregation standard of separating the duties of:
recording customer payments and making deposits; recording supplier payments
and writing checks; and monitoring bank account activity. This segregation
of duties is necessary to monitor and help prevent fraud.
Assumptions:
1. Companies using OpenERP have setup a One-to-one relationship between
their bank accounts and their OpenERP GL accounts. Each bank account
should have a corresponding GL account that is not shared with another
account.
Example:
OpenERP GL Account # Corresponding Bank Account
10100 Bank (AR) Account Checking 5434
(held at Institution A)
10200 Master Bank Account 2343 (held at Institution A)
10300 Bank Payable Account Checking 5678
(held at Institution A)
10400 Bank Payroll Account 6656 (held at Institution B)
10500 Paypal Account 3343 (held at Paypal)
10600 Google Wallet Account 6788
10700 AMEX Corporate Card Account 9989
2. Companies have included a Non-Deposited Funds Account in their GL account
(typically in current assets in their bank account areas). This account
is used to store payments that have been recorded in OpenERP - but not
yet deposited into the financial institution. (NOTE: this account is
important to have if the user "batches check deposits"- which is the
process of making a large single deposits of customer payment into the
bank (e.g. $20,000USD), but it is made up of smaller checks
(e.g. 20 checks of $1,000 each). Many banks just record the total deposit
amount ($20,000) and don¬タルt provide the breakdown of the individual
checks that make up the larger deposit. This setup approach enables users
to drill down and see the individual checks that make up a larger deposit.
Recommendations:
From a cash management and financial control perspective it is recommended
that users establish the following four(4) bank accounts at their financial
institution at a minimum to handle financial transactions.
(NOTE: we recommend users place the last 4 digits of their bank account in
the GL account name of the account. It helps accountants in their management
of the system):
Bank (AR) Account Checking 5434
This is a checking account designated as the account where payments made to
the company are deposited (e.g. a customer payment made by check is
deposited here, or a customer paying by electronic transaction EFT/ACH is
deposited into this GL).
Master Bank Account 2343
This is the master account in which the company keeps the majority of their
funds. Often with the most limited access.
Bank Payable Account Checking 5678
This is a checking account designated for the company to pay their expenses
from. (e.g. Company writes a check to pay a supplier for their office
supplies).
Bank Payroll Account 6656
This is a checking account designated for a company to pay their
employees and payroll.
NOTE: There has been common confusion in the OpenERP community about
managing bank statements in the base OpenERP system. This module
hopes to alleviate this gap and provide users with a sound alternative
to maintain fiscal control, be easy to understand, and allow for
future growth.
Why this approach? Users in OpenERP have several options in which to
record financial transactions that affect the balances of a bank account
(GL Bank Account entries). We believe our approach allows these to work
in conjunction with each other: Import Electronic Bank Statements to enter
payments (this approach follows the philosophy that you first find out
that a transaction has occurred from your bank ¬タモ which is very common in
Europe due to the electronic nature of transactions).
Payment Order Payments (using the direct Method) - Payments are instantly
recorded and financial transactions posted into the GL
Voucher Payments - Payments are instantly recorded and financial transactions
posted into the GL Sales Receipts/Refunds
Transfers between accounts (a new module is being developed to help
manage this)
Funds moved from the Undeposited Funds GL account to a Bank Account GL account.
Direct Journal Entries
Contributors
------------
* Mathieu Benoit (mathieu.benoit@savoirfairelinux.com)
* Vincent Vinet (vincent.vinet@savoirfairelinux.com)
""",
'author': 'NovaPoint Group LLC',
'website': ' http://www.novapointgroup.com',
'depends': [
'account_cutoff_base',
'account_voucher',
'report_webkit',
],
'data': [
"security/account_banking_reconciliation_security.xml",
"security/ir.model.access.csv",
"views/bank_acc_rec_statement.xml",
"views/account_move_line_view.xml",
"report/report.xml",
],
'installable': True,
'active': False,
}

View File

@@ -0,0 +1,882 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_banking_reconciliation
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 21:37+0000\n"
"PO-Revision-Date: 2015-05-28 21:37+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:126
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:233
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:87
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:126
msgid "Deposits and Credits"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,exchange_date:0
msgid "The starting date of your bank statement."
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:69
msgid "Detailed %s account:"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Name"
msgstr ""
#. module: account_banking_reconciliation
#: field:account.move.line,bank_acc_rec_statement_id:0
msgid "Bank Acc Rec Statement"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:344
#, python-format
msgid "The General Ledger Balance and Registered Balance are equal, no adjustment necessary."
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Group By..."
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,statement_id:0
msgid "Statement"
msgstr ""
#. module: account_banking_reconciliation
#: field:account.move.line,cleared_bank_account:0
#: field:bank.acc.rec.statement.line,cleared_bank_account:0
msgid "Cleared "
msgstr ""
#. module: account_banking_reconciliation
#: field:account.move.line,draft_assigned_to_statement:0
msgid "Assigned to Statement "
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,name:0
msgid "Derived from the related Journal Item."
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Company Name"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,ending_balance_in_currency:0
msgid "Ending Balance in Currency"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,company_id:0
msgid "Company"
msgstr ""
#. module: account_banking_reconciliation
#: help:account.move.line,cleared_bank_account:0
#: help:bank.acc.rec.statement.line,cleared_bank_account:0
msgid "Check if the transaction has cleared from the bank"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:66
msgid "Summary account:"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:313
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:150
msgid "Register Balance as of"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:196
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:103
msgid "Total Cleared Transactions"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "To be Reviewed"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Starting Balance"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,sum_of_credits_unclear_in_currency:0
#: help:bank.acc.rec.statement,sum_of_debits_unclear_in_currency:0
msgid "Total SUM of Amts of lines with Cleared = False"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,amount:0
msgid "Derived from the 'debit' amount from related Journal Item."
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Statements that have been processed"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,starting_balance_in_currency:0
msgid "Starting Balance in Currency"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:99
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:72
msgid "Beginning Balance"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: field:bank.acc.rec.statement,account_id:0
msgid "Account"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,debit_move_line_ids:0
msgid "Debits"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: field:bank.acc.rec.statement,notes:0
msgid "Notes"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,move_line_id:0
msgid "Journal Item"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Adjust Ending balance in GL"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:349
#, python-format
msgid "No Default Cut-off Journal"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:93
#: field:bank.acc.rec.statement.line,amount:0
msgid "Amount"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,currency_rate_label:0
msgid "Currency Rate Message"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:313
#, python-format
msgid "Adjustment for reconciliation %s"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,research_required:0
msgid "Research Required "
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Checks, Withdrawals, Debits, and Service Charges"
msgstr ""
#. module: account_banking_reconciliation
#: model:res.groups,name:account_banking_reconciliation.group_bank_stmt_verifier
msgid "Bank Statement Verifier"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,multi_currency:0
msgid "Multi-currency mode enabled"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,account_id:0
msgid "The Bank/Gl Account that is being reconciled."
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: field:bank.acc.rec.statement,ending_date:0
msgid "Ending Date"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:87
#: field:bank.acc.rec.statement.line,ref:0
msgid "Reference"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Statements that haven't yet been confirmed"
msgstr ""
#. module: account_banking_reconciliation
#: sql_constraint:bank.acc.rec.statement:0
msgid "The name of the statement must be unique per company and G/L account!"
msgstr ""
#. module: account_banking_reconciliation
#: model:res.groups,name:account_banking_reconciliation.group_bank_stmt_preparer
msgid "Bank Statement Preparer"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:146
#, python-format
msgid "Prior to reconciling a statement, all differences must be accounted for and the Difference balance must be zero. Please review and make necessary changes."
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:156
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:165
#, python-format
msgid "Warning"
msgstr ""
#. module: account_banking_reconciliation
#: model:ir.model,name:account_banking_reconciliation.model_bank_acc_rec_statement
msgid "bank.acc.rec.statement"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:145
#, python-format
msgid "Warning!"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,uncleared_balance:0
#: field:bank.acc.rec.statement,uncleared_balance_in_currency:0
msgid "Uncleared Balance"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: selection:bank.acc.rec.statement,state:0
msgid "Draft"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,suppress_ending_date_filter:0
msgid "If this is checked then the Statement End Date filter on the transactions below will not occur. All transactions would come over."
msgstr ""
#. module: account_banking_reconciliation
#: model:ir.actions.act_window,name:account_banking_reconciliation.action_bank_acc_rec_statement
#: model:ir.ui.menu,name:account_banking_reconciliation.account_banking_rec_statement_menu
msgid "Reconcile Bank Account and Statement"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,exchange_date:0
msgid "Currency Exchange Date"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:350
#, python-format
msgid "You need to set the Default Cut-off Journal for your company to create an adjustment move"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,company_id:0
msgid "The Company for which the deposit ticket is made to"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Statements that are ready for review"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:303
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:142
msgid "Total Uncleared Transactions"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: field:bank.acc.rec.statement,state:0
msgid "State"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Bank Account Reconciliation Statements"
msgstr ""
#. module: account_banking_reconciliation
#: selection:bank.acc.rec.statement.line,type:0
msgid "Debit"
msgstr ""
#. module: account_banking_reconciliation
#: model:ir.actions.report.xml,name:account_banking_reconciliation.report_reconciliation_summary
msgid "Reconciliation detailed"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:220
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:119
msgid "Uncleared Transactions"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,verified_by_user_id:0
msgid "Entered automatically by the “last user” who saved it. System generated."
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Totals Area - cleared entries"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,registered_balance:0
msgid "Initial balance + Cleared Balance + Uncleared Balance"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_credits:0
#: field:bank.acc.rec.statement,sum_of_credits_unclear:0
#: field:bank.acc.rec.statement,sum_of_credits_unclear_in_currency:0
msgid "Checks, Withdrawals, Debits, and Service Charges Amount"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter notes about reconciliation"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,research_required:0
msgid "Check if the transaction should be researched by Accounting personal"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:166
#, python-format
msgid "Prior to reconciling a statement in a foreign currency, you should make sure the general ledger balance and registered balance match. If necessary, an adjustment move can be created to account for the difference."
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:715
#, python-format
msgid "At the starting date, the exchange rate was\n"
"%s = %s"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_credits_lines:0
#: field:bank.acc.rec.statement,sum_of_credits_lines_unclear:0
msgid "Checks, Withdrawals, Debits, and Service Charges # of Items"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,difference:0
#: help:bank.acc.rec.statement,difference_in_currency:0
msgid "(Ending Balance Beginning Balance) - Cleared Balance."
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,verified_date:0
msgid "Date in which Deposit Ticket was verified."
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_debits:0
#: field:bank.acc.rec.statement,sum_of_debits_in_currency:0
#: field:bank.acc.rec.statement,sum_of_debits_unclear:0
#: field:bank.acc.rec.statement,sum_of_debits_unclear_in_currency:0
msgid "Deposits, Credits, and Interest Amount"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,starting_balance:0
msgid "The Starting Balance on your bank statement, in your company's currency"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:113
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:80
msgid "Cleared Transactions"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,ending_date:0
msgid "The ending date of your bank statement."
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:90
#: field:bank.acc.rec.statement.line,partner_id:0
msgid "Partner"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,name:0
msgid "This is a unique name identifying the statement (e.g. Bank X January 2012)."
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:323
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:334
#, python-format
msgid "No Gain Exchange Rate Account"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Currency Exchange date"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:73
#, python-format
msgid "Only a member of '%s' group may delete/edit bank statements when not in draft state!"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Account Name"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Deposits, Credits, and Interest"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:69
#, python-format
msgid "User Error !"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,cleared_balance:0
#: help:bank.acc.rec.statement,cleared_balance_in_currency:0
#: help:bank.acc.rec.statement,uncleared_balance:0
#: help:bank.acc.rec.statement,uncleared_balance_in_currency:0
msgid "Total Sum of the Deposit Amount Cleared Total Sum of Checks, Withdrawals, Debits, and Service Charges Amount Cleared"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:324
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:335
#, python-format
msgid "You need to configure the Gain Exchange Rate Account for the company in order to create an adjustment move"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,currency_id:0
msgid "The optional other currency if it is a multi-currency entry."
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:157
#, python-format
msgid "Prior to reconciling a statement in a foreign currency, all differences must be accounted for and the Difference in currency balance must be zero. Please review and make necessary changes."
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,move_line_id:0
msgid "Related Journal Item."
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,amount_in_currency:0
msgid "Amount in currency from the related Journal Item."
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,currency_rate:0
msgid "Currency Exchange Rate"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Set to Draft"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,verified_by_user_id:0
msgid "Verified By"
msgstr ""
#. module: account_banking_reconciliation
#: help:account.move.line,draft_assigned_to_statement:0
msgid "Check if the move line is assigned to statement lines"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "General Ledger"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:343
#, python-format
msgid "Adjustment Unnecessary"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Totals Area - uncleared entries"
msgstr ""
#. module: account_banking_reconciliation
#: help:account.move.line,bank_acc_rec_statement_id:0
msgid "The Bank Acc Rec Statement linked with the journal item"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,sum_of_credits_lines:0
#: help:bank.acc.rec.statement,sum_of_credits_lines_unclear:0
#: help:bank.acc.rec.statement,sum_of_debits_lines:0
#: help:bank.acc.rec.statement,sum_of_debits_lines_unclear:0
msgid "Total of number of lines with Cleared = True"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,type:0
msgid "Cr/Dr"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:162
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:269
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:95
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:134
msgid "Cheques and Debits"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Balance Area"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter ending date"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:84
#: field:bank.acc.rec.statement.line,date:0
msgid "Date"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,sum_of_credits:0
#: help:bank.acc.rec.statement,sum_of_credits_in_currency:0
#: help:bank.acc.rec.statement,sum_of_credits_unclear:0
#: help:bank.acc.rec.statement,sum_of_debits:0
#: help:bank.acc.rec.statement,sum_of_debits_in_currency:0
#: help:bank.acc.rec.statement,sum_of_debits_unclear:0
msgid "Total SUM of Amts of lines with Cleared = True"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter date of varification"
msgstr ""
#. module: account_banking_reconciliation
#: selection:bank.acc.rec.statement.line,type:0
msgid "Credit"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Tracking Information"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_credits_in_currency:0
msgid "Checks, Withdrawals, Debits, and Service Charges Amountin currency"
msgstr ""
#. module: account_banking_reconciliation
#: model:ir.actions.act_window,name:account_banking_reconciliation.act_supplier_payment_to_add
msgid "Supplier Payment"
msgstr ""
#. module: account_banking_reconciliation
#: model:ir.model,name:account_banking_reconciliation.model_bank_acc_rec_statement_line
msgid "Statement Line"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,general_ledger_balance:0
#: help:bank.acc.rec.statement,general_ledger_balance:0
msgid "General Ledger Balance"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Process"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,adjustment_move_id:0
msgid "Adjustment move used to balance the General Ledger for accounts in a secondary currency"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,ending_balance:0
msgid "The Ending Balance on your bank statement, in your company's currency"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: selection:bank.acc.rec.statement,state:0
msgid "Done"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,verified_date:0
msgid "Verified Date"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:126
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:162
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:233
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:269
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:87
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:95
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:126
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:134
msgid "items"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: selection:bank.acc.rec.statement,state:0
msgid "Cancel"
msgstr ""
#. module: account_banking_reconciliation
#: view:account.move.line:0
msgid "Journal Entries not cleared"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: model:ir.actions.act_window,name:account_banking_reconciliation.act_account_move_line_to_add
#: model:ir.model,name:account_banking_reconciliation.model_account_move_line
msgid "Journal Items"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Foreign Currency"
msgstr ""
#. module: account_banking_reconciliation
#: model:ir.actions.act_window,name:account_banking_reconciliation.act_customer_payment_to_add
msgid "Customer Payment"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,currency_conversion_date:0
msgid "Currency Conversion Date"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,keep_previous_uncleared_entries:0
msgid "If this is checked then the previous uncleared entries will be include."
msgstr ""
#. module: account_banking_reconciliation
#: view:account.move.line:0
msgid "Uncleared Bank Account"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Select All"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_debits_lines:0
#: field:bank.acc.rec.statement,sum_of_debits_lines_unclear:0
msgid "Deposits, Credits, and Interest # of Items"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,date:0
#: help:bank.acc.rec.statement.line,partner_id:0
#: help:bank.acc.rec.statement.line,ref:0
msgid "Derived from related Journal Item."
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: selection:bank.acc.rec.statement,state:0
msgid "Ready for Review"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_satetement_line.py:105
#, python-format
msgid "Processing Error"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Bank Account Reconciliation Statement"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,currency_id:0
msgid "Currency"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,starting_balance:0
msgid "Starting Balance"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Unselect All"
msgstr ""
#. module: account_banking_reconciliation
#: model:ir.actions.report.xml,name:account_banking_reconciliation.report_reconciliation_detailed
msgid "Reconciliation summary"
msgstr ""
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_satetement_line.py:106
#, python-format
msgid "You cannot add any new bank statement line manually as of this revision!"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,credit_move_line_ids:0
msgid "Credits"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Other Information"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,difference:0
#: field:bank.acc.rec.statement,difference_in_currency:0
msgid "Difference"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,ending_balance:0
msgid "Ending Balance"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,name:0
#: field:bank.acc.rec.statement.line,name:0
msgid "Name"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Verified by me"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Refresh"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Ending Balance"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Search Bank Account Reconciliation Statements"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,suppress_ending_date_filter:0
msgid "Remove Ending Date Filter"
msgstr ""
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:206
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:111
#: field:bank.acc.rec.statement,cleared_balance:0
#: field:bank.acc.rec.statement,cleared_balance_in_currency:0
msgid "Cleared Balance"
msgstr ""
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter user whoever varified"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,registered_balance:0
msgid "Registered Balance"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,amount_in_currency:0
msgid "Amount in Currency"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,adjustment_move_id:0
msgid "Adjustement Move"
msgstr ""
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,keep_previous_uncleared_entries:0
msgid "Keep Previous Uncleared Entries"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,starting_balance_in_currency:0
msgid "The Account Starting Balance on your bank statement"
msgstr ""
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,ending_balance_in_currency:0
msgid "The Ending Balance on your bank statement."
msgstr ""

View File

@@ -0,0 +1,939 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_banking_reconciliation
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 21:37+0000\n"
"PO-Revision-Date: 2015-05-29 12:37-0500\n"
"Last-Translator: Agathe Mollé <agathe.molle@savoirfairelinux.com>\n"
"Language-Team: Savoir-faire Linux\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:126
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:233
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:87
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:126
msgid "Deposits and Credits"
msgstr "Dépôts et Crédits"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,exchange_date:0
msgid "The starting date of your bank statement."
msgstr "La date initiale du relevé bancaire."
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:69
msgid "Detailed %s account:"
msgstr "Compte %s détaillé :"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Name"
msgstr "Entrer un nom"
#. module: account_banking_reconciliation
#: field:account.move.line,bank_acc_rec_statement_id:0
msgid "Bank Acc Rec Statement"
msgstr "Bank Acc Rec Statement"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:344
#, python-format
msgid ""
"The General Ledger Balance and Registered Balance are equal, no adjustment "
"necessary."
msgstr ""
"La Balance des écritures non réconciliées et le Solde au relevé redressé "
"sont identiques, pas d'ajustement nécessaire."
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Group By..."
msgstr "Grouper par..."
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,statement_id:0
msgid "Statement"
msgstr "Relevé"
#. module: account_banking_reconciliation
#: field:account.move.line,cleared_bank_account:0
#: field:bank.acc.rec.statement.line,cleared_bank_account:0
msgid "Cleared "
msgstr "Réconcilié"
#. module: account_banking_reconciliation
#: field:account.move.line,draft_assigned_to_statement:0
msgid "Assigned to Statement "
msgstr "Assigné à un relevé"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,name:0
msgid "Derived from the related Journal Item."
msgstr "Obtenu à partir de l'écriture comptable"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Company Name"
msgstr "Entrer le nom de la compagnie"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,ending_balance_in_currency:0
msgid "Ending Balance in Currency"
msgstr "Balance finale en devise"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,company_id:0
msgid "Company"
msgstr "Compagnie"
#. module: account_banking_reconciliation
#: help:account.move.line,cleared_bank_account:0
#: help:bank.acc.rec.statement.line,cleared_bank_account:0
msgid "Check if the transaction has cleared from the bank"
msgstr "Cocher si cette transaction apparaît sur le relevé bancaire"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:66
msgid "Summary account:"
msgstr "Rapport sommaire du compte :"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:313
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:150
msgid "Register Balance as of"
msgstr "Solde au relevé redressé "
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:196
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:103
msgid "Total Cleared Transactions"
msgstr "Totaux - Écritures réconciliées"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "To be Reviewed"
msgstr "À vérifier"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Starting Balance"
msgstr "Entrer la balance de début"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,sum_of_credits_unclear_in_currency:0
#: help:bank.acc.rec.statement,sum_of_debits_unclear_in_currency:0
msgid "Total SUM of Amts of lines with Cleared = False"
msgstr "Somme de toutes les lignes avec la case \"Réconcilié?\" cochée"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,amount:0
msgid "Derived from the 'debit' amount from related Journal Item."
msgstr "Obtenu à partir du montant 'débit' de l'écriture comptable"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Statements that have been processed"
msgstr "Les relevés qui ont été traités"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,starting_balance_in_currency:0
msgid "Starting Balance in Currency"
msgstr "Balance initiale en devise"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:99
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:72
msgid "Beginning Balance"
msgstr "Balance initiale"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0 field:bank.acc.rec.statement,account_id:0
msgid "Account"
msgstr "Compte"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,debit_move_line_ids:0
msgid "Debits"
msgstr "Débits"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0 field:bank.acc.rec.statement,notes:0
msgid "Notes"
msgstr "Notes"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,move_line_id:0
msgid "Journal Item"
msgstr "Écriture de journal"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Adjust Ending balance in GL"
msgstr "Entrer la balance finale"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:349
#, python-format
msgid "No Default Cut-off Journal"
msgstr "Pas de Journal de Cut-Off par défaut"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:93
#: field:bank.acc.rec.statement.line,amount:0
msgid "Amount"
msgstr "Montant"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,currency_rate_label:0
msgid "Currency Rate Message"
msgstr "Message de taux de devise"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:313
#, python-format
msgid "Adjustment for reconciliation %s"
msgstr "Ajustement pour la réconciliation %s"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,research_required:0
msgid "Research Required "
msgstr "Recherche nécessaire"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Checks, Withdrawals, Debits, and Service Charges"
msgstr "Chèques, virements, débits et frais de service"
#. module: account_banking_reconciliation
#: model:res.groups,name:account_banking_reconciliation.group_bank_stmt_verifier
msgid "Bank Statement Verifier"
msgstr "Vérificateur de relevés bancaires"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,multi_currency:0
msgid "Multi-currency mode enabled"
msgstr "Mode multi-devise activé"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,account_id:0
msgid "The Bank/Gl Account that is being reconciled."
msgstr "Le compte de banque ou de GL à réconcilier."
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0 field:bank.acc.rec.statement,ending_date:0
msgid "Ending Date"
msgstr "Date de fin"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:87
#: field:bank.acc.rec.statement.line,ref:0
msgid "Reference"
msgstr "Référence"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Statements that haven't yet been confirmed"
msgstr "Relevés qui n'ont pas encore été confirmés"
#. module: account_banking_reconciliation
#: sql_constraint:bank.acc.rec.statement:0
msgid "The name of the statement must be unique per company and G/L account!"
msgstr "Le nom du relevé doit être unique par compagnie et par compte !"
#. module: account_banking_reconciliation
#: model:res.groups,name:account_banking_reconciliation.group_bank_stmt_preparer
msgid "Bank Statement Preparer"
msgstr "Préparateur de relevés bancaires"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:146
#, python-format
msgid ""
"Prior to reconciling a statement, all differences must be accounted for and "
"the Difference balance must be zero. Please review and make necessary "
"changes."
msgstr ""
"Avant de réconcilier un relevé, toutes les différences doivent être "
"comptabilisées et la Balance de Différence doit être nulle. Veuillez "
"effectuer les changements nécessaires."
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:156
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:165
#, python-format
msgid "Warning"
msgstr "Avertissement"
#. module: account_banking_reconciliation
#: model:ir.model,name:account_banking_reconciliation.model_bank_acc_rec_statement
msgid "bank.acc.rec.statement"
msgstr "bank.acc.rec.statement"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:145
#, python-format
msgid "Warning!"
msgstr "Avertissement !"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,uncleared_balance:0
#: field:bank.acc.rec.statement,uncleared_balance_in_currency:0
msgid "Uncleared Balance"
msgstr "Balance des écritures non réconciliées"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0 selection:bank.acc.rec.statement,state:0
msgid "Draft"
msgstr "Brouillon"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,suppress_ending_date_filter:0
msgid ""
"If this is checked then the Statement End Date filter on the transactions "
"below will not occur. All transactions would come over."
msgstr ""
"Si cette option est cochée alors le filtre de date de fin du relevé ne "
"s'appliquera pas sur les écritures; toutes les transactions du GL qui ne "
"sont pas dans un relevé précédent apparaîtront (y compris celles dans le "
"futur)."
#. module: account_banking_reconciliation
#: model:ir.actions.act_window,name:account_banking_reconciliation.action_bank_acc_rec_statement
#: model:ir.ui.menu,name:account_banking_reconciliation.account_banking_rec_statement_menu
msgid "Reconcile Bank Account and Statement"
msgstr "Conciliation bancaire"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,exchange_date:0
msgid "Currency Exchange Date"
msgstr "Date du changement de taux de devise"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:350
#, python-format
msgid ""
"You need to set the Default Cut-off Journal for your company to create an "
"adjustment move"
msgstr ""
"Vous devez renseigner le Journal de Cut-Off de votre compagnie pour créer un "
"ajustement."
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,company_id:0
msgid "The Company for which the deposit ticket is made to"
msgstr "La compagnie pour laquelle le ticket de dépôt est fait"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Statements that are ready for review"
msgstr "Relevés prêts à être vérifiés"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:303
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:142
msgid "Total Uncleared Transactions"
msgstr "Total - Écritures non réconciliées"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0 field:bank.acc.rec.statement,state:0
msgid "State"
msgstr "Statut"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Bank Account Reconciliation Statements"
msgstr "Relevés de conciliation bancaire"
#. module: account_banking_reconciliation
#: selection:bank.acc.rec.statement.line,type:0
msgid "Debit"
msgstr "Débit"
#. module: account_banking_reconciliation
#: model:ir.actions.report.xml,name:account_banking_reconciliation.report_reconciliation_summary
msgid "Reconciliation detailed"
msgstr "Rapport détaillé de réconciliation bancaire"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:220
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:119
msgid "Uncleared Transactions"
msgstr "Compte bancaire non-réconcilié"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,verified_by_user_id:0
msgid ""
"Entered automatically by the “last user” who saved it. System generated."
msgstr ""
"Entré automatiquement par le dernier utilisateur qui a sauvé ce relevé "
"(généré par le système)."
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Totals Area - cleared entries"
msgstr "Totaux - Écritures réconciliées"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,registered_balance:0
msgid "Initial balance + Cleared Balance + Uncleared Balance"
msgstr "Balance Initiale + Balance Réconciliée + Balance Non-réconciliée"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_credits:0
#: field:bank.acc.rec.statement,sum_of_credits_unclear:0
#: field:bank.acc.rec.statement,sum_of_credits_unclear_in_currency:0
msgid "Checks, Withdrawals, Debits, and Service Charges Amount"
msgstr "Chèques, virements, débits et frais de service - Montant"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter notes about reconciliation"
msgstr "Entrer des commentaires au sujet de cette réconciliation"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,research_required:0
msgid "Check if the transaction should be researched by Accounting personal"
msgstr "Cocher cette case si cette écriture nécessite des recherches"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:166
#, python-format
msgid ""
"Prior to reconciling a statement in a foreign currency, you should make sure "
"the general ledger balance and registered balance match. If necessary, an "
"adjustment move can be created to account for the difference."
msgstr ""
"Avant de réconcilier un relevé dans une devise étrangère, veuillez vous "
"assurer que la Balance des écritures non réconciliées et le Solde au relevé "
"redressé correspondent. Si nécessaire, un ajustement peut être créé afin de "
"comptabiliser la différence."
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:715
#, python-format
msgid ""
"At the starting date, the exchange rate was\n"
"%s = %s"
msgstr ""
"À la date initiale, le taux de change était\n"
"%s = %s"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_credits_lines:0
#: field:bank.acc.rec.statement,sum_of_credits_lines_unclear:0
msgid "Checks, Withdrawals, Debits, and Service Charges # of Items"
msgstr "Chèques, virements, débits et frais de service - Nb de lignes"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,difference:0
#: help:bank.acc.rec.statement,difference_in_currency:0
msgid "(Ending Balance Beginning Balance) - Cleared Balance."
msgstr "(Balance Finale - Balance Initial) - Balance Réconciliée"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,verified_date:0
msgid "Date in which Deposit Ticket was verified."
msgstr "Date à laquelle le ticket de dépôt a été vérifié."
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_debits:0
#: field:bank.acc.rec.statement,sum_of_debits_in_currency:0
#: field:bank.acc.rec.statement,sum_of_debits_unclear:0
#: field:bank.acc.rec.statement,sum_of_debits_unclear_in_currency:0
msgid "Deposits, Credits, and Interest Amount"
msgstr "Dépôts, Crédits et Intérêts - Montant"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,starting_balance:0
msgid "The Starting Balance on your bank statement, in your company's currency"
msgstr ""
"La balance initiale telle qu'elle apparaît sur le relevé bancaire, dans la "
"devise de votre compagnie."
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:113
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:80
msgid "Cleared Transactions"
msgstr "Balance des écritures réconciliées"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,ending_date:0
msgid "The ending date of your bank statement."
msgstr "La date de fin du relevé bancaire."
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:90
#: field:bank.acc.rec.statement.line,partner_id:0
msgid "Partner"
msgstr "Partenaire"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,name:0
msgid ""
"This is a unique name identifying the statement (e.g. Bank X January 2012)."
msgstr "Nom unique identifiant le relevé (par ex. Banque X Janvier 2015)."
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:323
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:334
#, python-format
msgid "No Gain Exchange Rate Account"
msgstr "Pas de compte"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Currency Exchange date"
msgstr "Date du changement de taux de devise"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:73
#, python-format
msgid ""
"Only a member of '%s' group may delete/edit bank statements when not in "
"draft state!"
msgstr ""
"Seul un membre du groupe '%s' peut supprimer/éditer des relevés bancaires en "
"dehors de l'état Brouillon."
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Account Name"
msgstr "Entrer le nom du compte"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Deposits, Credits, and Interest"
msgstr "Dépôts, Crédits et Intérêts"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:69
#, python-format
msgid "User Error !"
msgstr "Erreur utilisateur!"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,cleared_balance:0
#: help:bank.acc.rec.statement,cleared_balance_in_currency:0
#: help:bank.acc.rec.statement,uncleared_balance:0
#: help:bank.acc.rec.statement,uncleared_balance_in_currency:0
msgid ""
"Total Sum of the Deposit Amount Cleared Total Sum of Checks, Withdrawals, "
"Debits, and Service Charges Amount Cleared"
msgstr "Total (Somme des crédits réconciliés - Somme des débits réconciliés)"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:324
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:335
#, python-format
msgid ""
"You need to configure the Gain Exchange Rate Account for the company in "
"order to create an adjustment move"
msgstr ""
"Vous devez configurer un compte pour la compagnie pour pouvoir créer un "
"ajustement."
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,currency_id:0
msgid "The optional other currency if it is a multi-currency entry."
msgstr "La devise étrangère si cette écriture est multi-devise (optionnel)."
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:157
#, python-format
msgid ""
"Prior to reconciling a statement in a foreign currency, all differences must "
"be accounted for and the Difference in currency balance must be zero. Please "
"review and make necessary changes."
msgstr ""
"Avant de réconcilier un relevé dans une devise étrangère, toutes les "
"différences doivent être comptabilisées et la Balance de Différence doit "
"être nulle. Veuillez effectuer les changements nécessaires."
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,move_line_id:0
msgid "Related Journal Item."
msgstr "Écriture comptable associée."
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,amount_in_currency:0
msgid "Amount in currency from the related Journal Item."
msgstr "Obtenu à partir de l'écriture comptable"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,currency_rate:0
msgid "Currency Exchange Rate"
msgstr "Taux de change"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Set to Draft"
msgstr "Mettre en brouillon"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,verified_by_user_id:0
msgid "Verified By"
msgstr "Vérifié par"
#. module: account_banking_reconciliation
#: help:account.move.line,draft_assigned_to_statement:0
msgid "Check if the move line is assigned to statement lines"
msgstr "Coché si l'écriture comptable est associée à une ligne de relevé"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "General Ledger"
msgstr "Écritures non réconciliées"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_statement.py:343
#, python-format
msgid "Adjustment Unnecessary"
msgstr "Ajustement inutile"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Totals Area - uncleared entries"
msgstr "Total - Écritures non réconciliées"
#. module: account_banking_reconciliation
#: help:account.move.line,bank_acc_rec_statement_id:0
msgid "The Bank Acc Rec Statement linked with the journal item"
msgstr "Le relevé de réconciliation bancaire lié à l'écriture comptable"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,sum_of_credits_lines:0
#: help:bank.acc.rec.statement,sum_of_credits_lines_unclear:0
#: help:bank.acc.rec.statement,sum_of_debits_lines:0
#: help:bank.acc.rec.statement,sum_of_debits_lines_unclear:0
msgid "Total of number of lines with Cleared = True"
msgstr "Nombre total de lignes avec la case \"Réconcilié?\" cochée"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,type:0
msgid "Cr/Dr"
msgstr "DT/CT"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:162
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:269
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:95
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:134
msgid "Cheques and Debits"
msgstr "Chèques et Débits"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Balance Area"
msgstr "Balance"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter ending date"
msgstr "Entrer la date de fin"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:84
#: field:bank.acc.rec.statement.line,date:0
msgid "Date"
msgstr "Date"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,sum_of_credits:0
#: help:bank.acc.rec.statement,sum_of_credits_in_currency:0
#: help:bank.acc.rec.statement,sum_of_credits_unclear:0
#: help:bank.acc.rec.statement,sum_of_debits:0
#: help:bank.acc.rec.statement,sum_of_debits_in_currency:0
#: help:bank.acc.rec.statement,sum_of_debits_unclear:0
msgid "Total SUM of Amts of lines with Cleared = True"
msgstr "Somme de toutes les lignes avec la case \"Réconcilié?\" cochée"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter date of varification"
msgstr "Entrer la date de vérification"
#. module: account_banking_reconciliation
#: selection:bank.acc.rec.statement.line,type:0
msgid "Credit"
msgstr "Crédit"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Tracking Information"
msgstr "Information de suivi"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_credits_in_currency:0
msgid "Checks, Withdrawals, Debits, and Service Charges Amountin currency"
msgstr "Chèques, virements, débits et frais de service - Montant en devise"
#. module: account_banking_reconciliation
#: model:ir.actions.act_window,name:account_banking_reconciliation.act_supplier_payment_to_add
msgid "Supplier Payment"
msgstr "Paiement Fournisseur"
#. module: account_banking_reconciliation
#: model:ir.model,name:account_banking_reconciliation.model_bank_acc_rec_statement_line
msgid "Statement Line"
msgstr "Ligne de relevé"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,general_ledger_balance:0
#: help:bank.acc.rec.statement,general_ledger_balance:0
msgid "General Ledger Balance"
msgstr "Balance des écritures non réconciliées"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Process"
msgstr "Traitement"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,adjustment_move_id:0
msgid ""
"Adjustment move used to balance the General Ledger for accounts in a "
"secondary currency"
msgstr ""
"Ajustement pour balancer les écritures non réconciliées pour les comptes "
"dans une devise secondaire"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,ending_balance:0
msgid "The Ending Balance on your bank statement, in your company's currency"
msgstr ""
"La balance finale du relevé bancaire, dans la devise de votre compagnie"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0 selection:bank.acc.rec.statement,state:0
msgid "Done"
msgstr "Terminé"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,verified_date:0
msgid "Verified Date"
msgstr "Date de vérification"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:126
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:162
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:233
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:269
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:87
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:95
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:126
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:134
msgid "items"
msgstr "éléments"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0 selection:bank.acc.rec.statement,state:0
msgid "Cancel"
msgstr "Annuler"
#. module: account_banking_reconciliation
#: view:account.move.line:0
msgid "Journal Entries not cleared"
msgstr "Écriture comptables en circulation"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
#: model:ir.actions.act_window,name:account_banking_reconciliation.act_account_move_line_to_add
#: model:ir.model,name:account_banking_reconciliation.model_account_move_line
msgid "Journal Items"
msgstr "Écritures journal"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Foreign Currency"
msgstr "Devise étrangère"
#. module: account_banking_reconciliation
#: model:ir.actions.act_window,name:account_banking_reconciliation.act_customer_payment_to_add
msgid "Customer Payment"
msgstr "Paiement client"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,currency_conversion_date:0
msgid "Currency Conversion Date"
msgstr "Date de conversion de devise"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,keep_previous_uncleared_entries:0
msgid "If this is checked then the previous uncleared entries will be include."
msgstr ""
"Si cette case est cochée toutes les écritures comptables en circulation "
"seront inclues. Par défaut, une écriture comptable ne peut appartenir qu'à "
"un seul relevé."
#. module: account_banking_reconciliation
#: view:account.move.line:0
msgid "Uncleared Bank Account"
msgstr "Compte bancaire non-réconcilié"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Select All"
msgstr "Tout sélectionner"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,sum_of_debits_lines:0
#: field:bank.acc.rec.statement,sum_of_debits_lines_unclear:0
msgid "Deposits, Credits, and Interest # of Items"
msgstr "Dépôts, Crédits et Intérêts : nb de lignes"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement.line,date:0
#: help:bank.acc.rec.statement.line,partner_id:0
#: help:bank.acc.rec.statement.line,ref:0
msgid "Derived from related Journal Item."
msgstr "Obtenu à partir de l'écriture comptable."
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0 selection:bank.acc.rec.statement,state:0
msgid "Ready for Review"
msgstr "Prêt à être vérifier"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_satetement_line.py:105
#, python-format
msgid "Processing Error"
msgstr "Erreur de traitement"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Bank Account Reconciliation Statement"
msgstr "Relevé de réconciliation bancaire"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,currency_id:0
msgid "Currency"
msgstr "Devise"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,starting_balance:0
msgid "Starting Balance"
msgstr "Balance initiale"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Unselect All"
msgstr "Tout désélectionner"
#. module: account_banking_reconciliation
#: model:ir.actions.report.xml,name:account_banking_reconciliation.report_reconciliation_detailed
msgid "Reconciliation summary"
msgstr "Rapport sommaire de réconciliation bancaire"
#. module: account_banking_reconciliation
#: code:addons/account_banking_reconciliation/models/bank_acc_rec_satetement_line.py:106
#, python-format
msgid ""
"You cannot add any new bank statement line manually as of this revision!"
msgstr ""
"Vous ne pouvez pas ajouter de nouvelle ligne de relevé bancaire à cette "
"révision !"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,credit_move_line_ids:0
msgid "Credits"
msgstr "Crédits"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Other Information"
msgstr "Autres informations"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,difference:0
#: field:bank.acc.rec.statement,difference_in_currency:0
msgid "Difference"
msgstr "Différence"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,ending_balance:0
msgid "Ending Balance"
msgstr "Balance finale"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,name:0
#: field:bank.acc.rec.statement.line,name:0
msgid "Name"
msgstr "Nom"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Verified by me"
msgstr "Vérifié par moi"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Refresh"
msgstr "Mettre à jour"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter Ending Balance"
msgstr "Entrer la balance finale"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Search Bank Account Reconciliation Statements"
msgstr "Chercher dans les relevés de réconciliation bancaire"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,suppress_ending_date_filter:0
msgid "Remove Ending Date Filter"
msgstr "Retirer le filtre de date finale"
#. module: account_banking_reconciliation
#: report:addons/account_banking_reconciliation/report/detailed_reconciliation.mako:206
#: report:addons/account_banking_reconciliation/report/summary_reconciliation.mako:111
#: field:bank.acc.rec.statement,cleared_balance:0
#: field:bank.acc.rec.statement,cleared_balance_in_currency:0
msgid "Cleared Balance"
msgstr "Balance des écritures réconciliées"
#. module: account_banking_reconciliation
#: view:bank.acc.rec.statement:0
msgid "Enter user whoever varified"
msgstr "Entrer la personne qui a vérifié"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,registered_balance:0
msgid "Registered Balance"
msgstr "Solde au relevé redressé"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement.line,amount_in_currency:0
msgid "Amount in Currency"
msgstr "Montant en devise"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,adjustment_move_id:0
msgid "Adjustement Move"
msgstr "Ajustement"
#. module: account_banking_reconciliation
#: field:bank.acc.rec.statement,keep_previous_uncleared_entries:0
msgid "Keep Previous Uncleared Entries"
msgstr "Afficher les écritures en circulation précédentes"
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,starting_balance_in_currency:0
msgid "The Account Starting Balance on your bank statement"
msgstr "La balance initiale telle qu'elle apparaît sur le relevé bancaire."
#. module: account_banking_reconciliation
#: help:bank.acc.rec.statement,ending_balance_in_currency:0
msgid "The Ending Balance on your bank statement."
msgstr "La balance finale du relevé bancaire"

View File

@@ -0,0 +1,3 @@
from . import account_move_line
from . import bank_acc_rec_satetement_line
from . import bank_acc_rec_statement

View File

@@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import fields, orm
class account_move_line(orm.Model):
_inherit = 'account.move.line'
_columns = {
'cleared_bank_account': fields.boolean(
'Cleared ',
help='Check if the transaction has cleared from the bank'
),
'bank_acc_rec_statement_id': fields.many2one(
'bank.acc.rec.statement',
'Bank Acc Rec Statement',
help="The Bank Acc Rec Statement linked with the journal item"
),
'draft_assigned_to_statement': fields.boolean(
'Assigned to Statement ',
help='Check if the move line is assigned to statement lines'
)
}
def copy_data(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
default.update(
cleared_bank_account=False,
bank_acc_rec_statement_id=False,
draft_assigned_to_statement=False,
)
return super(account_move_line, self).copy_data(
cr, uid, id, default=default, context=context
)

View File

@@ -0,0 +1,140 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from openerp.osv import fields, orm
from openerp.tools.translate import _
import openerp.addons.decimal_precision as dp
class bank_acc_rec_statement_line(orm.Model):
_name = "bank.acc.rec.statement.line"
_description = "Statement Line"
_columns = {
'name': fields.char(
'Name',
size=64,
help="Derived from the related Journal Item.",
required=True
),
'ref': fields.char(
'Reference',
size=64,
help="Derived from related Journal Item."
),
'partner_id': fields.many2one(
'res.partner',
string='Partner',
help="Derived from related Journal Item."
),
'amount': fields.float(
'Amount',
digits_compute=dp.get_precision('Account'),
help="Derived from the 'debit' amount from related Journal Item."
),
'amount_in_currency': fields.float(
'Amount in Currency',
digits_compute=dp.get_precision('Account'),
help="Amount in currency from the related Journal Item."
),
'date': fields.date(
'Date',
required=True,
help="Derived from related Journal Item."
),
'statement_id': fields.many2one(
'bank.acc.rec.statement',
'Statement',
required=True,
ondelete='cascade'
),
'move_line_id': fields.many2one(
'account.move.line',
'Journal Item',
help="Related Journal Item."
),
'cleared_bank_account': fields.boolean(
'Cleared ',
help='Check if the transaction has cleared from the bank'
),
'research_required': fields.boolean(
'Research Required ',
help=(
'Check if the transaction should be researched by '
'Accounting personal'
),
),
'currency_id': fields.many2one(
'res.currency',
'Currency',
help="The optional other currency if it is a multi-currency entry."
),
'type': fields.selection(
[
('dr', 'Debit'),
('cr', 'Credit')
],
'Cr/Dr'
),
}
_order = 'date asc'
def create(self, cr, uid, vals, context=None):
account_move_line_obj = self.pool.get('account.move.line')
# Prevent manually adding new statement line.
# This would allow only onchange method to pre-populate
# statement lines based on the filter rules.
if not vals.get('move_line_id', False):
raise orm.except_orm(
_('Processing Error'),
_('You cannot add any new bank statement line '
'manually as of this revision!')
)
account_move_line_obj.write(
cr, uid,
[vals['move_line_id']],
{'draft_assigned_to_statement': True},
context=context
)
return super(bank_acc_rec_statement_line, self).create(
cr, uid, vals, context=context
)
def unlink(self, cr, uid, ids, context=None):
account_move_line_obj = self.pool.get('account.move.line')
move_line_ids = [
line.move_line_id.id
for line in self.browse(cr, uid, ids, context=context)
if line.move_line_id
]
# Reset field values in move lines to be added later
account_move_line_obj.write(
cr, uid,
move_line_ids,
{
'draft_assigned_to_statement': False,
'cleared_bank_account': False,
'bank_acc_rec_statement_id': False,
},
context=context
)
return super(bank_acc_rec_statement_line, self).unlink(
cr, uid, ids, context=context
)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from . import reconciliation

View File

@@ -0,0 +1,384 @@
<!doctype html>
<html>
<meta charset="UTF-8">
<head>
<style type="text/css">
table {
page-break-inside:auto
}
table tr {
page-break-inside:avoid;
page-break-after:auto;
}
thead {
display:table-header-group;
}
.important_number_table {
font-weight:bold;
font-size: 110%;
}
.important_number {
font-weight:bold;
font-size: 100%;
}
.cell {
border:none;
}
.col_header {
font-weight:bold;
width:30px;
}
.col_header_third {
font-style:italic;
}
.col_header_first {
font-size: larger;
}
.col_date {
width:60px;
}
.col_amount {
width:100px;
}
.col_partner {
/*
Max of 2 lines in height
*/
line-height: 15px;
max-height: 30px;
width:150px;
text-overflow: ellipsis;
overflow: hidden;
}
div.col_partner {
display: -webkit-box;
/*
Enable ellipsis on webkit browser for 2 lines
*/
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.right_col {
text-align:right;
width:100px;
}
.line_sum {
border-style:solid;
border-width:0px;
border-bottom-width:5px;
font-weight:bold;
font-size: 110%;
}
.first_item {
text-align:center;
border-style:solid;
border-width:0px;
border-bottom-width:8px;
}
${css}
</style>
</head>
<body>
%for rec in objects:
<table style="width:100%;">
<tr>
<td class="cell first_item important_number_table"
colspan="6">
${_("Detailed %s account:") % rec.name} ${rec.account_id.code} -
${rec.account_id.name}
</td>
</tr>
</table>
<table style="width:100%;font-size:70%;">
<thead>
<tr>
<td class="col_header">
</td>
<td class="col_header">
</td>
<td class="col_header">
</td>
<td class="line_sum col_date">
${_("Date")}
</td>
<td class="line_sum">
${_("Reference")}
</td>
<td class="line_sum col_partner">
${_("Partner")}
</td>
<td class="col_amount line_sum">
${_("Amount")}
</td>
</tr>
</thead>
<tr>
<td class="left_col cell col_header col_header_first" colspan="4">
${_("Beginning Balance")}
</td>
<td>
</td>
<td>
</td>
<td class="cell important_number_table right_col">
${formatLang(rec.multi_currency and rec.starting_balance_in_currency or rec.starting_balance,
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td>
</td>
<td class="cell col_header" colspan="4">
${_("Cleared Transactions")}
</td>
<td>
</td>
<td class="cell right_col">
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td class="cell col_header col_header_third" colspan="4">
${_("Deposits and Credits")}${" - %s " % int(rec.sum_of_debits_lines)}${_("items")}
</td>
<td class="cell important_number right_col">
${formatLang(rec.multi_currency and rec.sum_of_debits_in_currency or rec.sum_of_debits,
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
%for rec_line in [line for line in rec.debit_move_line_ids if line.cleared_bank_account]:
<tr>
<td class="cell">
</td>
<td class="cell">
</td>
<td class="cell">
</td>
<td class="col_date">
${rec_line.date}
</td>
<td>
${rec_line.ref and rec_line.ref or ""}
</td>
<td>
<div class="col_partner">
${rec_line.partner_id.name and rec_line.partner_id.name or ""}
</div>
</td>
<td class="cell right_col col_amount">
${formatLang(rec.multi_currency and rec_line.amount_in_currency or rec_line.amount,
monetary=True,
currency_obj=rec.multi_currency and rec_line.currency_id or rec.company_id.currency_id)}
</td>
</tr>
%endfor
<tr>
<td>
</td>
<td>
</td>
<td class="cell col_header col_header_third" colspan="4">
${_("Cheques and Debits")}${" - %s " % int(rec.sum_of_credits_lines)}${_("items")}
</td>
<td class="cell important_number right_col">
${formatLang(rec.multi_currency and rec.sum_of_credits_in_currency or rec.sum_of_credits,
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
%for rec_line in [line for line in rec.credit_move_line_ids if line.cleared_bank_account]:
<tr>
<td class="cell left_col">
</td>
<td class="cell left_col">
</td>
<td class="cell left_col">
</td>
<td>
${rec_line.date}
</td>
<td>
${rec_line.ref and rec_line.ref or ""}
</td>
<td>
<div class="col_partner">
${rec_line.partner_id.name and rec_line.partner_id.name or ""}
</div>
</td>
<td class="cell right_col">
${formatLang(rec.multi_currency and rec_line.amount_in_currency or rec_line.amount,
monetary=True,
currency_obj=rec.multi_currency and rec_line.currency_id or rec.company_id.currency_id)}
</td>
</tr>
%endfor
<tr>
<td>
</td>
<td class="cell col_header" colspan="4">
${_("Total Cleared Transactions")}
</td>
<td>
</td>
<td class="cell right_col line_sum">
${formatLang(rec.multi_currency and rec.cleared_balance_in_currency or rec.cleared_balance,
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell col_header col_header_first" colspan="4">
${_("Cleared Balance")}
</td>
<td>
</td>
<td>
</td>
<td class="cell important_number_table right_col">
${formatLang(rec.multi_currency and (rec.cleared_balance_in_currency + rec.starting_balance_in_currency) or (rec.cleared_balance + rec.starting_balance),
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td>
</td>
<td class="cell col_header" colspan="4">
${_("Uncleared Transactions")}
</td>
<td>
</td>
<td class="cell right_col">
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td class="cell col_header col_header_third" colspan="4">
${_("Deposits and Credits")}${" - %s " % int(rec.sum_of_debits_lines_unclear)}${_("items")}
</td>
<td class="cell important_number right_col">
${formatLang(rec.multi_currency and rec.sum_of_debits_unclear_in_currency or rec.sum_of_debits_unclear,
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
%for rec_line in [line for line in rec.debit_move_line_ids if not line.cleared_bank_account]:
<tr>
<td class="cell left_col">
</td>
<td class="cell left_col">
</td>
<td class="cell left_col">
</td>
<td>
${rec_line.date}
</td>
<td>
${rec_line.ref and rec_line.ref or ""}
</td>
<td>
<div class="col_partner">
${rec_line.partner_id.name and rec_line.partner_id.name or ""}
</div>
</td>
<td class="cell right_col">
${formatLang(rec.multi_currency and rec_line.amount_in_currency or rec_line.amount,
monetary=True,
currency_obj=rec.multi_currency and rec_line.currency_id or rec.company_id.currency_id)}
</td>
</tr>
%endfor
<tr>
<td>
</td>
<td>
</td>
<td class="cell col_header col_header_third" colspan="4">
${_("Cheques and Debits")}${" - %s " % int(rec.sum_of_credits_lines_unclear)}${_("items")}
</td>
<td class="cell right_col important_number">
${formatLang(rec.multi_currency and rec.sum_of_credits_unclear_in_currency or rec.sum_of_credits_unclear,
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
%for rec_line in [line for line in rec.credit_move_line_ids if not line.cleared_bank_account]:
<tr>
<td class="cell left_col">
</td>
<td class="cell left_col">
</td>
<td class="cell left_col">
</td>
<td>
${rec_line.date}
</td>
<td>
${rec_line.ref and rec_line.ref or ""}
</td>
<td>
<div class="col_partner">
${rec_line.partner_id.name and rec_line.partner_id.name or ""}
</div>
</td>
<td class="cell right_col">
${formatLang(rec.multi_currency and rec_line.amount_in_currency or rec_line.amount,
monetary=True,
currency_obj=rec.multi_currency and rec_line.currency_id or rec.company_id.currency_id)}
</td>
</tr>
%endfor
<tr>
<td>
</td>
<td class="cell col_header" colspan="4">
${_("Total Uncleared Transactions")}
</td>
<td>
</td>
<td class="cell right_col line_sum">
${formatLang(rec.multi_currency and rec.uncleared_balance_in_currency or rec.uncleared_balance,
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell col_header col_header_first" colspan="5">
${_("Register Balance as of")}${" %s" % formatLang(rec.ending_date, date=True)}
</td>
<td>
</td>
<td class="cell important_number_table right_col">
${formatLang(rec.multi_currency and (rec.starting_balance_in_currency + rec.cleared_balance_in_currency + rec.uncleared_balance_in_currency) or (rec.starting_balance + rec.cleared_balance + rec.uncleared_balance),
monetary=True,
currency_obj=rec.multi_currency and rec.account_id.currency_id or rec.company_id.currency_id)}
</td>
</tr>
</table>
%endfor
</body>
</html>

View File

@@ -0,0 +1,51 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from openerp.report import report_sxw
from openerp.netsvc import Service
class Reconciliation(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context=None):
super(Reconciliation, self).__init__(cr, uid, name, context=context)
report_name = 'report.detailed.reconciliation.webkit'
if report_name in Service._services.keys():
del Service._services[report_name]
report_sxw.report_sxw(
report_name,
'bank.acc.rec.statement',
'addons/deposit_ticket_report_webkit/report/detailed_reconciliation.mako',
parser=Reconciliation,
)
report_name = 'report.summary.reconciliation.webkit'
if report_name in Service._services.keys():
del Service._services[report_name]
report_sxw.report_sxw(
report_name,
'bank.acc.rec.statement',
'addons/deposit_ticket_report_webkit/report/summary_reconciliation.mako',
parser=Reconciliation
)

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report id="report_reconciliation_summary"
model="bank.acc.rec.statement"
auto="False"
name="detailed.reconciliation.webkit"
file="account_banking_reconciliation/report/detailed_reconciliation.mako"
string="Reconciliation detailed"
report_type="webkit"/>
<report id="report_reconciliation_detailed"
model="bank.acc.rec.statement"
auto="False"
name="summary.reconciliation.webkit"
file="account_banking_reconciliation/report/summary_reconciliation.mako"
string="Reconciliation summary"
report_type="webkit"/>
</data>
</openerp>

View File

@@ -0,0 +1,209 @@
<html>
<head>
<style type="text/css">
table {
page-break-inside:auto
}
table tr {
page-break-inside:avoid; page-break-after:auto;
}
.important_number_table
{
font-weight:bold;
font-size: 110%;
}
.cell
{
border:none;
}
.left_col
{
}
.col_header
{
}
.right_col_sum
{
width:20%;
text-align:right;
}
.right_col
{
text-align:right;
}
.second_line
{
padding-left:3em;
}
.third_line
{
padding-left:6em;
}
.line_sum
{
border-style:solid;
border-width:0px;
border-bottom-width:5px;
}
.first_item
{
text-align:center;
border-style:solid;
border-width:0px;
border-bottom-width:8px;
}
${css}
</style>
</head>
<body>
%for rec in objects:
<table style="width:100%">
<tr>
<% cols = 3 if rec.multi_currency else 2 %>
<td class="cell left_col first_item important_number_table"
colspan="${cols}">
${_("Summary account:")} ${rec.account_id.code} -
${rec.account_id.name}
</td>
</tr>
<tr>
<td class="left_col cell">
${_("Beginning Balance")}
</td>
%if rec.multi_currency:
<td class="cell right_col_sum">
${formatLang(rec.starting_balance_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell right_col_sum">
${formatLang(rec.starting_balance, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell second_line left_col">
${_("Cleared Transactions")}
</td>
<td class="cell right_col_sum">
</td>
<td class="cell right_col_sum">
</td>
</tr>
<tr>
<td class="cell third_line left_col">
${_("Deposits and Credits")}${" - %s " % int(rec.sum_of_debits_lines)}${_("items")}
</td>
%if rec.multi_currency:
<td class="cell right_col_sum">
${formatLang(rec.sum_of_debits_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell right_col_sum">
${formatLang(rec.sum_of_debits, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell third_line left_col">
${_("Cheques and Debits")}${" - %s " % int(rec.sum_of_credits_lines)}${_("items")}
</td>
%if rec.multi_currency:
<td class="cell line_sum right_col_sum">
${formatLang(-rec.sum_of_credits_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell line_sum right_col_sum">
${formatLang(-rec.sum_of_credits, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell second_line left_col">
${_("Total Cleared Transactions")}
</td>
%if rec.multi_currency:
<td class="cell right_col_sum line_sum">
${formatLang(rec.cleared_balance_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell right_col_sum line_sum">
${formatLang(rec.cleared_balance, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell left_col">
${_("Cleared Balance")}
</td>
%if rec.multi_currency:
<td class="cell important_number_table right_col_sum">
${formatLang(rec.cleared_balance_in_currency + rec.starting_balance_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell important_number_table right_col_sum">
${formatLang(rec.cleared_balance + rec.starting_balance, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell second_line left_col">
${_("Uncleared Transactions")}
</td>
<td class="cell right_col_sum">
</td>
<td class="cell right_col_sum">
</td>
</tr>
<tr>
<td class="cell third_line left_col">
${_("Deposits and Credits")}${" - %s " % int(rec.sum_of_debits_lines_unclear)}${_("items")}
</td>
%if rec.multi_currency:
<td class="cell right_col_sum">
${formatLang(rec.sum_of_debits_unclear_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell right_col_sum">
${formatLang(rec.sum_of_debits_unclear, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell third_line left_col">
${_("Cheques and Debits")}${" - %s " % int(rec.sum_of_credits_lines_unclear)}${_("items")}
</td>
%if rec.multi_currency:
<td class="cell right_col_sum line_sum">
${formatLang(-rec.sum_of_credits_unclear_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell right_col_sum line_sum">
${formatLang(-rec.sum_of_credits_unclear, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell second_line left_col">
${_("Total Uncleared Transactions")}
</td>
%if rec.multi_currency:
<td class="cell right_col_sum line_sum">
${formatLang(rec.uncleared_balance_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell right_col_sum line_sum">
${formatLang(rec.uncleared_balance, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
<tr>
<td class="cell left_col">
${_("Register Balance as of")}${" %s" % formatLang(rec.ending_date, date=True, currency_obj=rec.company_id.currency_id)}
</td>
%if rec.multi_currency:
<td class="cell important_number_table right_col_sum">
${formatLang(rec.starting_balance_in_currency + rec.cleared_balance_in_currency + rec.uncleared_balance_in_currency, monetary=True, currency_obj=rec.account_id.currency_id)}
</td>
%endif
<td class="cell important_number_table right_col_sum">
${formatLang(rec.starting_balance + rec.cleared_balance + rec.uncleared_balance, monetary=True, currency_obj=rec.company_id.currency_id)}
</td>
</tr>
</table>
%endfor
</body>
</html>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Groups - Bank Stmt Preparer , Bank Stmt Verifier -->
<record id="group_bank_stmt_preparer" model="res.groups">
<field name="name">Bank Statement Preparer</field>
</record>
<record id="group_bank_stmt_verifier" model="res.groups">
<field name="name">Bank Statement Verifier</field>
</record>
<record id="account.group_account_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('group_bank_stmt_preparer'))]"/>
</record>
<record id="account.group_account_manager" model="res.groups">
<field name="implied_ids" eval="[(4, ref('group_bank_stmt_verifier'))]"/>
</record>
<!-- Security Rule for Bank Rec Stmts -->
<record id="account_banking_reconciliation_comp_rule" model="ir.rule">
<field name="name">Bank Statements</field>
<field ref="model_bank_acc_rec_statement" name="model_id"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
</data>
</openerp>

View File

@@ -0,0 +1,5 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_bank_acc_rec_statement_preparer","access.bank.acc.rec.statement.preparer","model_bank_acc_rec_statement","group_bank_stmt_preparer",1,1,1,1
"access_bank_acc_rec_statement_verifier","access.bank.acc.rec.statement.verifier","model_bank_acc_rec_statement","group_bank_stmt_verifier",1,1,1,1
"access_bank_acc_rec_statement_line_preparer","access.bank.acc.rec.statement.line.preparer","model_bank_acc_rec_statement_line","group_bank_stmt_preparer",1,1,1,1
"access_bank_acc_rec_statement_line_verifier","access.bank.acc.rec.statement.line.verifier","model_bank_acc_rec_statement_line","group_bank_stmt_verifier",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_bank_acc_rec_statement_preparer access.bank.acc.rec.statement.preparer model_bank_acc_rec_statement group_bank_stmt_preparer 1 1 1 1
3 access_bank_acc_rec_statement_verifier access.bank.acc.rec.statement.verifier model_bank_acc_rec_statement group_bank_stmt_verifier 1 1 1 1
4 access_bank_acc_rec_statement_line_preparer access.bank.acc.rec.statement.line.preparer model_bank_acc_rec_statement_line group_bank_stmt_preparer 1 1 1 1
5 access_bank_acc_rec_statement_line_verifier access.bank.acc.rec.statement.line.verifier model_bank_acc_rec_statement_line group_bank_stmt_verifier 1 1 1 1

View File

@@ -0,0 +1,28 @@
# coding: utf-8
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
# Copyright (C) 2015 Savoir-faire Linux (<http://www.savoirfairelinux.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import test_bank_reconciliation
checks = [
test_bank_reconciliation,
]

View File

@@ -0,0 +1,101 @@
# coding: utf-8
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
# Copyright (C) 2015 Savoir-faire Linux (<http://www.savoirfairelinux.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.tests import common
from datetime import datetime
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT
class test_bank_reconciliation(common.TransactionCase):
def setUp(self):
super(test_bank_reconciliation, self).setUp()
self.user_model = self.registry('res.users')
self.account_model = self.registry('account.account')
self.journal_model = self.registry('account.journal')
self.move_model = self.registry('account.move')
self.move_line_model = self.registry('account.move.line')
self.reconcile_model = self.registry('bank.acc.rec.statement')
self.context = self.user_model.context_get(self.cr, self.uid)
cr, uid, context = self.cr, self.uid, self.context
self.account_bank_id = self.account_model.search(
cr, uid, [('type', '=', 'liquidity')], context=context)[0]
self.account_supplier_id = self.account_model.search(
cr, uid, [('type', '=', 'payable')], context=context)[0]
self.journal_id = self.journal_model.search(
cr, uid, [('type', '=', 'bank')], context=context)[0]
today = datetime.now().strftime(DEFAULT_SERVER_DATE_FORMAT)
self.move_id = self.move_model.create(
cr, uid, {
'journal_id': self.journal_id,
'date': today,
'line_id': [
(0, 0, {
'name': 'Test',
'account_id': move_line[0],
'debit': move_line[1],
'credit': move_line[2],
})
for move_line in [
(self.account_bank_id, 0, 10),
(self.account_bank_id, 0, 20),
(self.account_bank_id, 0, 30),
(self.account_supplier_id, 60, 0),
]
]
}, context=context)
account_move = self.move_model.browse(
cr, uid, self.move_id, context=context)
account_move.button_validate()
self.reconcile_id = self.reconcile_model.create(
cr, uid, {
'account_id': self.account_bank_id,
'name': 'Test',
'ending_date': today,
'ending_balance': 100,
'starting_balance': 30,
'ending_balance_in_currency': 100,
'starting_balance_in_currency': 30,
}, context=context)
self.reconcile = self.reconcile_model.browse(
cr, uid, self.reconcile_id, context=context)
self.reconcile.refresh_record()
self.reconcile.refresh()
def test_one_reconcile_line_per_move_line(self):
"""
Test that one line of reconciliation is created for
each account move for the account
"""
self.assertEqual(len(self.reconcile.credit_move_line_ids), 3)

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!--- Journal Items -->
<record id="view_account_move_line_bank_acc_rec_statement_id" model="ir.ui.view">
<field name="name">account.move.line.bank.acc.rec.statement.id</field>
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_account_move_line_filter"/>
<field name="arch" type="xml">
<field name="period_id" position="after">
<field name="bank_acc_rec_statement_id"/>
</field>
<field name="move_id" position="before">
<filter icon="terp-document-new" string="Uncleared Bank Account" domain="[('cleared_bank_account','=',False)]" help="Journal Entries not cleared"/>
<separator orientation="vertical"/>
</field>
</field>
</record>
<record id="view_account_move_line_bank_acc_rec_statement_id_form" model="ir.ui.view">
<field name="name">account.move.line.bank.acc.rec.statement.id.form</field>
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_form"/>
<field name="arch" type="xml">
<field name="statement_id" position="after">
<field name="bank_acc_rec_statement_id"/>
</field>
<field name="blocked" position="after">
<field name="cleared_bank_account"/>
</field>
</field>
</record>
</data>
</openerp>

View File

@@ -0,0 +1,286 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Bank Account Reconciliation Statement -->
<record id="view_bank_acc_rec_statement_tree" model="ir.ui.view">
<field name="name">bank.acc.rec.statement.tree</field>
<field name="model">bank.acc.rec.statement</field>
<field name="priority">2</field>
<field name="arch" type="xml">
<tree string="Bank Account Reconciliation Statements" colors="grey:state=='cancel';blue:state in ('to_be_reviewed')">
<field name="name"/>
<field name="ending_date"/>
<field name="account_id"/>
<field name="verified_by_user_id"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_bank_acc_rec_statement_form" model="ir.ui.view">
<field name="name">bank.acc.rec.statement.form</field>
<field name="model">bank.acc.rec.statement</field>
<field name="arch" type="xml">
<form string="Bank Account Reconciliation Statement" version="7.0">
<header>
<button name="action_cancel" type="object" states="draft,to_be_reviewed" string="Cancel" icon="gtk-cancel"/>
<button name="action_review" type="object" states="draft" string="Ready for Review" icon="gtk-go-forward"/>
<button name="action_process" type="object" states="to_be_reviewed" string="Process" icon="gtk-apply"/>
<button name="action_cancel_draft" states="cancel,done" string="Set to Draft" type="object" icon="gtk-convert"/>
<button name='refresh_record' string='Refresh' type='object' states="draft"/>
<field name="state" widget="statusbar" nolabel="1"/>
</header>
<sheet>
<group col="4" colspan="4">
<field name="multi_currency" invisible="1" />
<field name="account_id" placeholder="Enter Account Name" on_change="onchange_account_id(account_id, ending_date, suppress_ending_date_filter, keep_previous_uncleared_entries)"/>
<field name="name" placeholder="Enter Name"/>
<field name="ending_date" placeholder="Enter ending date" on_change="onchange_account_id(account_id, ending_date, suppress_ending_date_filter, keep_previous_uncleared_entries)"/>
<field name="starting_balance" placeholder="Enter Starting Balance"/>
<field name="starting_balance_in_currency" placeholder="Enter Starting Balance"
attrs="{'invisible':[('multi_currency', '=', False)]}"
on_change="onchange_currency_rate(currency_rate, starting_balance_in_currency, ending_balance_in_currency, context)"
/>
<field name="ending_balance" placeholder="Enter Ending Balance"/>
<field name="ending_balance_in_currency" placeholder="Enter Ending Balance"
on_change="onchange_currency_rate(currency_rate, starting_balance_in_currency, ending_balance_in_currency, context)"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<field name="exchange_date" placeholder="Currency Exchange date"
attrs="{'invisible':[('multi_currency', '=', False)]}"
on_change="onchange_exchange_date(exchange_date, account_id, context)" />
<field name="currency_rate"
on_change="onchange_currency_rate(currency_rate, starting_balance_in_currency, ending_balance_in_currency, context)"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<field name="currency_rate_label" nolabel="1"
attrs="{'invisible':[('multi_currency', '=', False)]}"
class="oe_grey" readonly="1" colspan="2"/>
<field name="company_id" groups="base.group_multi_company" placeholder="Enter Company Name"/>
<field name="suppress_ending_date_filter" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_account_id(account_id, ending_date, suppress_ending_date_filter, keep_previous_uncleared_entries)"/>
<field name="keep_previous_uncleared_entries" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_account_id(account_id, ending_date, suppress_ending_date_filter, keep_previous_uncleared_entries)"/>
</group>
<notebook colspan="5">
<page string="Journal Items">
<label for='account_label' string='Deposits, Credits, and Interest'/>
<field colspan="4" mode="tree" name="debit_move_line_ids" nolabel="1" widget="one2many_list" height="300">
<form string="Deposits, Credits, and Interest" version="7.0">
<field name="cleared_bank_account"/>
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="amount_in_currency"/>
<field name="currency_id"/>
<field name="research_required"/>
</form>
<tree string="Deposits, Credits, and Interest" editable="top">
<field name="cleared_bank_account"/>
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="amount_in_currency"/>
<field name="currency_id"/>
<field name="research_required"/>
<field name="move_line_id"/>
</tree>
</field>
<label for='account_label2' string='Checks, Withdrawals, Debits, and Service Charges'/>
<field colspan="4" mode="tree" name="credit_move_line_ids" nolabel="1" widget="one2many_list" height="300">
<form string="Checks, Withdrawals, Debits, and Service Charges" version="7.0">
<field name="cleared_bank_account"/>
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="amount_in_currency"/>
<field name="currency_id"/>
<field name="research_required"/>
</form>
<tree string="Checks, Withdrawals, Debits, and Service Charges" editable="top">
<field name="cleared_bank_account"/>
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="amount_in_currency"/>
<field name="currency_id"/>
<field name="research_required"/>
<field name="move_line_id"/>
</tree>
</field>
<group col="2" colspan="1" groups="account_banking_reconciliation.group_bank_stmt_verifier">
<button name="action_select_all" type="object" states="draft,to_be_reviewed" string="Select All" icon="gtk-go-forward"/>
<button name="action_unselect_all" type="object" states="draft,to_be_reviewed" string="Unselect All" icon="gtk-cancel"/>
</group>
<newline/>
<group name="calculation1" col="3" colspan="2">
<separator string="Totals Area - cleared entries" colspan="2"/>
<separator string="Foreign Currency" colspan="1"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<newline />
<field name="sum_of_debits" colspan="2"/>
<field name="sum_of_debits_in_currency"
attrs="{'invisible':[('multi_currency', '=', False)]}"
colspan="1" nolabel="1"
/>
<newline />
<field name="sum_of_debits_lines" colspan="2"/>
<newline />
<field name="sum_of_credits" colspan="2"/>
<field name="sum_of_credits_in_currency"
colspan="1" nolabel="1"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<newline />
<field name="sum_of_credits_lines" colspan="2"/>
</group>
<group name="calculation_unclear1" col="3" colspan="2">
<separator string="Totals Area - uncleared entries" colspan="2"/>
<separator string="Foreign Currency" colspan="1"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<newline />
<field name="sum_of_debits_unclear" colspan="2"/>
<field name="sum_of_debits_unclear_in_currency"
colspan="1" nolabel="1"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<newline />
<field name="sum_of_debits_lines_unclear" colspan="2"/>
<newline />
<field name="sum_of_credits_unclear" colspan="2"/>
<field name="sum_of_credits_unclear_in_currency"
colspan="1" nolabel="1"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<newline />
<field name="sum_of_credits_lines_unclear" colspan="2"/>
</group>
<group col="3" colspan="2">
<separator string="Balance Area" colspan="2"/>
<separator string="Foreign Currency" colspan="1"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<newline />
<field name="cleared_balance" colspan="2"/>
<field name="cleared_balance_in_currency"
attrs="{'invisible':[('multi_currency', '=', False)]}"
colspan="1" nolabel="1"
/>
<newline />
<field name="difference" colspan="2"/>
<field name="difference_in_currency"
attrs="{'invisible':[('multi_currency', '=', False)]}"
colspan="1" nolabel="1"
/>
<newline />
<field name="uncleared_balance" colspan="2"/>
<field name="uncleared_balance_in_currency"
attrs="{'invisible':[('multi_currency', '=', False)]}"
colspan="1" nolabel="1"
/>
</group>
<separator string="General Ledger" />
<group name="gen_ledger" col="2" colspan="2">
<field name="general_ledger_balance" colspan="2"/>
<field name="registered_balance" />
<field name="adjustment_move_id" readonly="1"
attrs="{'invisible':[('multi_currency', '=', False)]}"
/>
<button name="action_adjust_ending_balance" type="object" string="Adjust Ending balance in GL"
attrs="{'invisible':['|', ('adjustment_move_id', '!=', False),('multi_currency', '=', False)]}"
/>
</group>
</page>
<page string="Other Information">
<separator string="Tracking Information" colspan="4"/>
<group colspan="2" col="2">
<field name="verified_by_user_id" placeholder="Enter user whoever varified"/>
</group>
<group colspan="2" col="2">
<field name="verified_date" placeholder="Enter date of varification"/>
</group>
</page>
<page string="Notes">
<field name="notes" nolabel="1" placeholder="Enter notes about reconciliation"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="view_bank_acc_rec_statement_filter" model="ir.ui.view">
<field name="name">bank.acc.rec.statement.select</field>
<field name="model">bank.acc.rec.statement</field>
<field name="arch" type="xml">
<search string="Search Bank Account Reconciliation Statements">
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Statements that haven't yet been confirmed"/>
<filter icon="terp-dolar" string="To be Reviewed" domain="[('state','=','to_be_reviewed')]" help="Statements that are ready for review"/>
<filter icon="terp-check" string="Done" domain="[('state','=','done')]" help="Statements that have been processed"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="ending_date" select="1" string="Ending Date" />
<field name="account_id" select="1"/>
<field name="verified_by_user_id" select="1">
<filter domain="[('verified_by_user_id','=',uid)]" help="Verified by me" icon="terp-personal"/>
</field>
<newline/>
<group expand="0" string="Group By..." colspan="11" col="11" groups="base.group_extended">
<filter string="Account" icon="terp-personal" domain="[]" context="{'group_by':'account_id'}"/>
<separator orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
</record>
<record id="action_bank_acc_rec_statement" model="ir.actions.act_window">
<field name="name">Reconcile Bank Account and Statement</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">bank.acc.rec.statement</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_bank_acc_rec_statement_filter"/>
</record>
<menuitem
icon="STOCK_JUSTIFY_FILL"
action="action_bank_acc_rec_statement"
id="account_banking_rec_statement_menu"
parent="account.menu_finance_bank_and_cash"
sequence="5"/>
<act_window
id="act_account_move_line_to_add"
name="Journal Items"
res_model="account.move.line"
src_model="bank.acc.rec.statement"/>
<act_window
id="act_supplier_payment_to_add"
name="Supplier Payment"
domain="[('journal_id.type', 'in', ['bank', 'cash']), ('type','=','receipt')]"
context="{'type':'payment'}"
res_model="account.voucher"
src_model="bank.acc.rec.statement"/>
<act_window
id="act_customer_payment_to_add"
name="Customer Payment"
domain="[('journal_id.type', 'in', ['bank', 'cash']), ('type','=','receipt')]"
context="{'type':'receipt'}"
res_model="account.voucher"
src_model="bank.acc.rec.statement"/>
</data>
</openerp>

View File

@@ -145,7 +145,7 @@ class account_invoice(orm.Model):
number = self.read(
cr, uid, invoice_id, ['number'], context=context)['number']
raise orm.except_orm(
_('Error !'),
_('Error'),
_("You cannot set invoice '%s' to state 'debit denied', "
'as it is still reconciled.') % number)
self.write(cr, uid, ids, {'state': 'debit_denied'}, context=context)

5
oca_dependencies.txt Normal file
View File

@@ -0,0 +1,5 @@
# List the OCA project dependencies, one per line
# Add a repository url and branch if you need a forked version
# partner-contact https://github.com/OCA/partner-contact 8.0
account-closing