@ -0,0 +1,12 @@ |
|||
Account Payment Receipt |
|||
======================= |
|||
|
|||
This module will print payment receipts with paid details |
|||
|
|||
|
|||
Credits |
|||
======= |
|||
Cybrosys Techno Solutions |
|||
Author |
|||
------ |
|||
* Cybrosys Techno Solutions<http://www.cybrosys.com> |
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<http://www.cybrosys.com>) |
|||
# you can modify it under the terms of the GNU LESSER |
|||
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
|||
# |
|||
# It is forbidden to publish, distribute, sublicense, or sell copies |
|||
# of the Software or modified copies of the Software. |
|||
# |
|||
# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
|||
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
import models |
@ -0,0 +1,43 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<http://www.cybrosys.com>) |
|||
# you can modify it under the terms of the GNU LESSER |
|||
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
|||
# |
|||
# It is forbidden to publish, distribute, sublicense, or sell copies |
|||
# of the Software or modified copies of the Software. |
|||
# |
|||
# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
|||
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
{ |
|||
'name': 'Account Payment Receipt', |
|||
'summary': """Payment Receipt With Paid Details""", |
|||
'version': '1.0', |
|||
'description': """""", |
|||
'author': 'Cybrosys Techno Solutions', |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'website': 'http://www.cybrosys.com', |
|||
'category': 'Reporting', |
|||
'depends': ['base', 'account'], |
|||
'license': 'AGPL-3', |
|||
'data': [ |
|||
'views/receipt_print_template.xml', |
|||
'views/account_payment_print.xml', |
|||
], |
|||
'demo': [], |
|||
'images': ['static/description/banner.jpg'], |
|||
'installable': True, |
|||
'auto_install': False, |
|||
|
|||
} |
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<http://www.cybrosys.com>) |
|||
# you can modify it under the terms of the GNU LESSER |
|||
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
|||
# |
|||
# It is forbidden to publish, distribute, sublicense, or sell copies |
|||
# of the Software or modified copies of the Software. |
|||
# |
|||
# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
|||
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
import account_receipt_parser |
@ -0,0 +1,82 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
|||
# Author: Niyas Raphy(<http://www.cybrosys.com>) |
|||
# you can modify it under the terms of the GNU LESSER |
|||
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
|||
# |
|||
# It is forbidden to publish, distribute, sublicense, or sell copies |
|||
# of the Software or modified copies of the Software. |
|||
# |
|||
# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
|||
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from odoo.report import report_sxw |
|||
from odoo.osv import osv |
|||
from odoo import api |
|||
from odoo.http import request |
|||
import json |
|||
|
|||
|
|||
class AccountReceiptParser(report_sxw.rml_parse): |
|||
|
|||
def __init__(self, cr, uid, name, context=None): |
|||
super(AccountReceiptParser, self).__init__(cr, uid, name, context=context) |
|||
self.localcontext.update({ |
|||
'get_details': self.get_details, |
|||
'get_details_invoice': self.get_details_invoice, |
|||
}) |
|||
self.context = context |
|||
|
|||
@api.multi |
|||
def get_details_invoice(self, doc): |
|||
lines = [] |
|||
acc_inv = request.env['account.invoice'] |
|||
acc_inv_rec = acc_inv.search([('number', '=', doc.number)]) |
|||
total_amount = acc_inv_rec.amount_total |
|||
if acc_inv_rec.state == 'draft': |
|||
balance_amount = total_amount |
|||
else: |
|||
balance_amount = acc_inv_rec.residual |
|||
paid = total_amount - balance_amount |
|||
vals = { |
|||
'total_amount': total_amount, |
|||
'balance_amount': balance_amount, |
|||
'paid': paid, |
|||
} |
|||
lines.append(vals) |
|||
return lines |
|||
|
|||
@api.multi |
|||
def get_details(self, doc): |
|||
lines = [] |
|||
acc_inv = request.env['account.invoice'] |
|||
acc_inv_rec = acc_inv.search([('number', '=', doc.number)]) |
|||
d = json.loads(acc_inv_rec.payments_widget) |
|||
for payment in d['content']: |
|||
vals = { |
|||
'memo': payment['name'], |
|||
'amount': payment['amount'], |
|||
'method': payment['journal_name'], |
|||
'date': payment['date'], |
|||
} |
|||
lines.append(vals) |
|||
return lines |
|||
|
|||
|
|||
class PrintReport(osv.AbstractModel): |
|||
_name = 'report.invoice_payment_receipt.report_payment' |
|||
_inherit = 'report.abstract_report' |
|||
_template = 'invoice_payment_receipt.report_payment' |
|||
_wrapped_report_class = AccountReceiptParser |
|||
|
|||
|
After Width: | Height: | Size: 108 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,103 @@ |
|||
<section class="oe_container"> |
|||
<div class="oe_row"> |
|||
<h2 class="oe_slogan">Payment Receipt Report</h2> |
|||
<h3 class="oe_slogan">Customer Receipts & Vendor Payment Report</h3> |
|||
<h4 class="oe_slogan">Cybrosys Techno Solutions, www.cybrosys.com</h4> |
|||
</div> |
|||
</section> |
|||
<section> |
|||
<div class="row oe_row oe_spaced"> |
|||
<div class="col-md-12"> |
|||
☀ Generate Customer invoice receipt with payment details.<br> |
|||
☀ Generate Vendor receipt with payment details.<br> |
|||
</div> |
|||
</div> |
|||
<div class="oe_row"> |
|||
<h2 class="oe_slogan">Customer Invoice</h2> |
|||
<h4 class="oe_slogan">Customer Invoice Form View</h4> |
|||
<div class="oe_span12"> |
|||
<p class='oe_mt32'> |
|||
<br> |
|||
</p> |
|||
<div class="oe_row_img oe_centered"> |
|||
<img class="oe_picture oe_screenshot" src="customer_invoice_form_view.png"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="oe_row oe_spaced"> |
|||
<h4 class="oe_slogan">Customer Receipt Print</h4> |
|||
<div class="oe_span12"> |
|||
<p class='oe_mt32'> |
|||
<br> |
|||
</p> |
|||
<div class="oe_row_img oe_centered"> |
|||
<img class="oe_picture oe_screenshot" src="receipt_print_customer.png"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="oe_row oe_spaced"> |
|||
<h4 class="oe_slogan">Customer Receipt Report</h4> |
|||
<div class="oe_span12"> |
|||
<p class='oe_mt32'> |
|||
<br> |
|||
</p> |
|||
<div class="oe_row_img oe_centered"> |
|||
<img class="oe_picture oe_screenshot" src="customer_receipt.png"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<section> |
|||
<div class="oe_row oe_spaced"> |
|||
<h2 class="oe_slogan">Vendor Bill</h2> |
|||
<h4 class="oe_slogan">Vendor Bill Form View</h4> |
|||
<div class="oe_span12"> |
|||
<p class='oe_mt32'> |
|||
<br> |
|||
</p> |
|||
<div class="oe_row_img oe_centered"> |
|||
<img class="oe_picture oe_screenshot" src="vendor_invoice_form.png"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="oe_row oe_spaced"> |
|||
<h4 class="oe_slogan">Vendor Receipt Print</h4> |
|||
<div class="oe_span12"> |
|||
<p class='oe_mt32'> |
|||
<br> |
|||
</p> |
|||
<div class="oe_row_img oe_centered"> |
|||
<img class="oe_picture oe_screenshot" src="vendor_print_button.png"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="oe_row oe_spaced"> |
|||
<h4 class="oe_slogan">Vendor Receipt Report</h4> |
|||
<div class="oe_span12"> |
|||
<p class='oe_mt32'> |
|||
<br> |
|||
</p> |
|||
<div class="oe_row_img oe_centered"> |
|||
<img class="oe_picture oe_screenshot" src="vendor_receipt.png"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container oe_dark"> |
|||
<h3 class="oe_slogan">Need Any Help?</h3> |
|||
<div class="oe_slogan"> |
|||
<a class="btn btn-primary btn-lg mt8" |
|||
style="color: #FFFFFF !important;" href="http://www.cybrosys.com"><i |
|||
class="fa fa-envelope"></i> Email </a> <a |
|||
class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" |
|||
href="http://www.cybrosys.com/contact/"><i |
|||
class="fa fa-phone"></i> Contact Us </a> <a |
|||
class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" |
|||
href="http://www.cybrosys.com/odoo-customization-and-installation/"><i |
|||
class="fa fa-check-square"></i> Request Customization </a> |
|||
</div> |
|||
<img src="cybro_logo.png" style="width: 190px; margin-bottom: 20px;" class="center-block"> |
|||
</section> |
|||
|
|||
|
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1,22 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data> |
|||
<report |
|||
id="report_payment_receipt" |
|||
string="Payment Receipt" |
|||
model="account.invoice" |
|||
report_type="qweb-pdf" |
|||
file="invoice_payment_receipt.report_payment" |
|||
name="invoice_payment_receipt.report_payment" |
|||
/> |
|||
|
|||
<template id="report_payment"> |
|||
<t t-call="report.html_container"> |
|||
<t t-foreach="docs" t-as="doc"> |
|||
<t t-call="invoice_payment_receipt.report_payment_print" t-lang="doc.partner_id.lang"/> |
|||
</t> |
|||
</t> |
|||
</template> |
|||
|
|||
</data> |
|||
</odoo> |
@ -0,0 +1,82 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<template id="report_payment_print"> |
|||
<t t-call="report.html_container"> |
|||
<t t-set="doc" t-value="doc.with_context({'lang':doc.partner_id.lang})" /> |
|||
<t t-call="report.internal_layout"> |
|||
<div class="page" > |
|||
<t t-call="report.external_layout"> |
|||
<div class="header" style="text-align:center;"><h1><strong>Payment Receipt</strong></h1></div> |
|||
<div class="row mt32 mb32" style="text-align:center;"> |
|||
</div> |
|||
<div class="row mt32 mb32" > |
|||
<div class="col-xs-12" style="text-align:left;"> |
|||
<span style="float:left;"><strong>Partner:</strong><span t-field="doc.partner_id.name"/></span> |
|||
<span style="float:left; padding-left:50px;"><strong>Invoice Date:</strong><span t-field="doc.date_invoice"/></span> |
|||
<span style="float:left; padding-left:50px;"><strong>Due Date:</strong><span t-field="doc.date_due"/></span> |
|||
</div> |
|||
</div> |
|||
|
|||
<table class="table table-condensed"> |
|||
<thead> |
|||
<tr > |
|||
<th style="background-color:#9b9da0 !important;">INVOICE TOTAL</th> |
|||
<th style="background-color:#9b9da0 !important;">PAID</th> |
|||
<th style="background-color:#9b9da0 !important;">DUE</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
<t t-set="paid_amount" t-value='1'></t> |
|||
<t t-foreach="get_details_invoice(doc)" t-as="rec"> |
|||
<tr> |
|||
<td><span t-att-style="style" t-esc="rec['total_amount']"/></td> |
|||
<t t-set="paid_amount" t-value="rec['paid']"/> |
|||
<td><span t-att-style="style" t-esc="rec['paid']"/> </td> |
|||
<td><span t-att-style="style" t-esc="rec['balance_amount']"/></td> |
|||
</tr> |
|||
</t> |
|||
</tbody> |
|||
</table> |
|||
<t t-if="paid_amount != 0"> |
|||
<div class="row mt32 mb32" style="text-align:center;"> |
|||
<div class="col-xs-12"> |
|||
<h3><strong>Payment Details</strong></h3> |
|||
</div> |
|||
</div> |
|||
<t t-if="doc.amount_total != doc.residual"> |
|||
<table class="table table-condensed"> |
|||
<thead> |
|||
<tr > |
|||
<th style="background-color:#9b9da0 !important;">MEMO</th> |
|||
<th style="background-color:#9b9da0 !important;">PAYMENT DATE</th> |
|||
<th style="background-color:#9b9da0 !important;">METHOD</th> |
|||
<th style="background-color:#9b9da0 !important;">AMOUNT</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
<t t-foreach="get_details(doc)" t-as="b"> |
|||
<tr> |
|||
<td> |
|||
<span t-att-style="style" t-esc="b['memo']"/> |
|||
</td> |
|||
<td> |
|||
<span t-att-style="style" t-esc="b['date']"/> |
|||
</td> |
|||
<td> |
|||
<span t-att-style="style" t-esc="b['method']"/> |
|||
</td> |
|||
<td> |
|||
<span t-att-style="style" t-esc="b['amount']"/> |
|||
</td> |
|||
</tr> |
|||
</t> |
|||
</tbody> |
|||
</table> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
</div> |
|||
</t> |
|||
</t> |
|||
</template> |
|||
</odoo> |