Help

3

How to alter the POS receipt?

Avatar
Frankl

As far as I know there are 4 files which could possibly affect the POS receipt:

addons/point_of_sale/report/pos_receipt.sxw addons/point_of_sale/report/pos_receipt.rml addons/point_of_sale/static/src/pos.css addons/point_of_sale/static/src/pos.xml

I've tried changing them all but NOTHING changes on the printed receipt, so frustrating.

Is there another file somewhere else I need to change??

Avatar
Discard
7 Answers
4
Avatar
Prajul P T
Best Answer

Hi, In point_of_sale module, in static > src > xml template named <t t-name="PosTicket"> is where we define the structure of the pos front end ticket and the value to populate the field is passed from static > src > js > pos.js. If you change in this xml file, it should effect the pos ticket. After making necessary changes in these file please refresh the browser. In some cases you might need to clear the browser cache....

5 Comments
Avatar
Discard
Avatar
Frankl
-

Thank you, clearing the cache worked.

Avatar
Frankl
-

However, how do I get the shop address and the VAT number on the receipt?

Avatar
Prajul P T
-

In module point_of_sale static > src > js > model.js, we are fetching all the required data for pos. Datas from shop, warehouse, partner etc. are fetched from this file. So i think you could add you code to fetch the vat and shop address details in this file..

Avatar
Frankl
-

Perfect Prajul.

If anyone else stumbles across this in the future, I changed:

<div class="pos-right-align"><t t-esc="new Date().toString(Date.CultureInfo.formatPatterns.shortDate + ' ' + Date.CultureInfo.formatPatterns.longTime)"/> <t t-esc="widget.currentOrder.attributes.name"/></div> <br /> <t t-esc="widget.company.name"/><br /> Phone: <t t-esc="widget.company.phone || ''"/><br /> User: <t t-esc="widget.user.name"/><br /> Shop: <t t-esc="widget.shop_obj.name"/><br />

Avatar
Frankl
-

added

        Address: <t t-esc="widget.company.contact_address"/><br />
    VAT: <t t-esc="widget.company.vat"/><br />

You can also change VAT to ABN or whatever your countries tax number abbreviation is.

Now, just need to find out how to add a logo!

1
Avatar
Divya
Best Answer

Hi, I'm using pricelist in Openerp POS. I like to show both public price and discounted pricelist price in pos receipt. But currently only the pricelist price alone is displayed in the receipt. Only pricelist price is getting displayed, But the actual price is not displayed in receipt. I want customer to know that there are getting the product for discounted price. Any suggestion for this?

Example:

Ice Cream (Public Price): 10$

Ice Cream (Price List Price): 9$ (I want to give 10% discount)

In the receipt, price is displayed as just 9$ instead of Actual Price 10$, Discounted Price 9$.

Avatar
Discard
1
Avatar
M. Höppner
Best Answer

Image at POS receipt:

I copied an appropriate image via FileZilla into the right folder and added the following line to the pos.xml:

<img width="100"  hspace="20" src="/point_of_sale/static/src/img/logo200.png" />

That works fine for me. If you want to have you logo at the top of your paper, just add it after the following lines (you have to go down some lines...):

 <t t-name="PosTicket">
        <div class="pos-sale-ticket">
            <br />

Have fun

Avatar
Discard
0
Avatar
Jerry Bhattarai
Best Answer

To edit POS Receipt/Bill Goto Odoo : C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\point_of_sale\static\src\xml\pos.xml

Open pos.xml and place following code in receipt-orderlines class

 <table class='receipt-orderlines'>

                <colgroup>

                    <col width='50%' />

                    <col width='20%' />

                    <col width='15%' />

                    <col width='30%' />

                </colgroup>



                <tr>

                    <th>Item Name</th>

                    <th colspan="2">Rate X Qty</th>

                    <th colspan="3">Amount(NPR)</th>

                    <th colspan="4"></th>       

                </tr>



                <tr t-foreach="orderlines" t-as="orderline">

                    <td>

                        <t t-esc="orderline.get_product().display_name"/>

                         <t t-if="orderline.get_discount() > 0">

                            <div class="pos-disc-font">

                                With a <t t-esc="orderline.get_discount()"/>% discount

                            </div>

                        </t>

                    </td>



                    <td class="pos-left-align">

                        <t t-esc="orderline.get_unit_display_price()"/>

                    </td>


                    <td class="pos-center-align">                                                                        

                        <t t-esc="orderline.get_quantity_str_with_unit()"/>                        

                    </td>


                    <td class="pos-center-align">

                        <t t-esc="orderline.get_display_price()"/>

                    </td>

                </tr>

                

            </table>

Output : Please refer attached image

 

Best,

Ram
Avatar
Discard
0
Best Answer

Its in the Technical --> Views --> report_receipt. Change here anything that you want. cheers

Avatar
Discard
0
Avatar
wizardz
Best Answer

is there a way to customize this in odoo reports? or you need to make those changes in the pos module?

And how can  I set this ticket to a format of A4 ? when I change the pos.xml it print all the same as before?

I want to print A4 FORMAT

Avatar
Discard
0
Avatar
Jairo Quezada
Best Answer

Helo, I need print in pos receipt the partner vat, how to declare <t t-esc> for this porpose?

2 Comments
Avatar
Discard
Avatar
Odoo Honduras
-

Customer : <t t-esc="order.changed.client ? order.changed.client.name : 'Client Anyone'"/>

<br />

Customer VAT : <t t-esc="order.changed.client ? order.changed.client.vat : '999999999999999'"/>

<br />

Avatar
Odoo Honduras
-

'Client Anyone' and '999999999999999' if need a generic client if no one selected.