2 In order to test the POS in module, To give business owners a convenient way of checking out customers and of recording sales.
5 I configure all details for the Customer, Salesman and Product, Account.
7 I create View Account Type.
9 !record {model: account.account.type, id: account_account_type_view0}:
15 I create Income Account Type.
17 !record {model: account.account.type, id: account_account_type_income0}:
18 close_method: unreconciled
23 I create Expense Account Type.
25 !record {model: account.account.type, id: account_account_type_expense0}:
26 close_method: unreconciled
31 I create Cash Account Type.
33 !record {model: account.account.type, id: account_account_type_cash0}:
39 I create Minimal Chart Account.
41 !record {model: account.account, id: account_pos_account_minimalchart}:
43 company_id: base.main_company
44 currency_mode: current
49 user_type: account_account_type_view0
51 I create Payable Account.
53 !record {model: account.account, id: account_pos_account_payable}:
55 company_id: base.main_company
56 currency_mode: current
58 parent_id: account_pos_account_minimalchart
63 user_type: account_account_type_expense0
65 I create Receivable Account.
67 !record {model: account.account, id: account_pos_account_receivable}:
69 company_id: base.main_company
70 currency_mode: current
72 parent_id: account_pos_account_minimalchart
77 user_type: account_account_type_income0
79 I create Cash Account.
81 !record {model: account.account, id: account_pos_account_cash}:
83 company_id: base.main_company
84 currency_mode: current
86 parent_id: account_pos_account_minimalchart
90 user_type: account_account_type_cash0
92 I create Purchases Account.
94 !record {model: account.account, id: account_pos_account_purchases}:
96 company_id: base.main_company
97 currency_mode: current
99 parent_id: account_pos_account_minimalchart
103 user_type: account_account_type_expense0
105 I create Sales Account.
107 !record {model: account.account, id: account_pos_account_sales}:
109 company_id: base.main_company
110 currency_mode: current
112 parent_id: account_pos_account_minimalchart
116 user_type: account_account_type_income0
118 I create Purchase Journal.
120 !record {model: account.journal, id: account_pos_account_journal_purchasejournal}:
122 company_id: base.main_company
123 default_credit_account_id: account_pos_account_purchases
124 default_debit_account_id: account_pos_account_purchases
125 name: Purchase Journal
126 sequence_id: account.sequence_purchase_journal
128 view_id: account.account_journal_view
130 I create Sale Journal.
132 !record {model: account.journal, id: account_pos_account_journal_salejournal}:
134 company_id: base.main_company
135 default_credit_account_id: account_pos_account_sales
136 default_debit_account_id: account_pos_account_sales
138 sequence_id: account.sequence_sale_journal
140 view_id: account.account_journal_view
142 I create Bank Journal.
144 !record {model: account.journal, id: account_pos_account_journal_bankjournal}:
146 company_id: base.main_company
147 default_credit_account_id: account_pos_account_cash
148 default_debit_account_id: account_pos_account_cash
150 sequence_id: account.sequence_journal
152 view_id: account.account_journal_bank_view
154 I create property for account payable.
156 !record {model: ir.property, id: ir_property_propertyaccountexpensecateg0}:
157 company_id: base.main_company
158 fields_id: account.field_res_partner_property_account_payable
159 name: property_account_expense_categ
160 value_reference: account.account,5
162 I create property for account receivable.
164 !record {model: ir.property, id: ir_property_propertyaccountincomecateg0}:
165 company_id: base.main_company
166 fields_id: account.field_res_partner_property_account_receivable
167 name: property_account_income_categ
168 value_reference: account.account,6
170 I create Partner category Customers.
172 !record {model: res.partner.category, id: res_partner_category_customers0}:
177 !record {model: res.partner, id: res_partner_cleartrail0}:
179 - res_partner_category_customers0
182 I create partner address.
184 !record {model: res.partner.address, id: res_partner_address_1}:
185 partner_id: res_partner_cleartrail0
186 street: onam plaza, 14 B palasia A B Road
189 I create partner invoice address.
191 !record {model: res.partner.address, id: res_partner_address_2}:
192 partner_id: res_partner_cleartrail0
195 I create partner delivery address.
197 !record {model: res.partner.address, id: res_partner_address_3}:
198 partner_id: res_partner_cleartrail0
199 street: sangam house 15 B palasia, A B Road
202 I create product category.
204 !record {model: product.category, id: product_category_allproductssellable0}:
205 name: Mobile Products Sellable
209 !record {model: res.partner, id: res_partner_microlinktechnologies0}:
211 - street: Kailash Vaibhav, Parksite
212 name: Micro Link Technologies
213 property_account_payable: account_pos_account_payable
214 property_account_receivable: account_pos_account_receivable
217 I create partner address .
219 !record {model: res.partner.address, id: res_partner_address_0}:
221 partner_id: res_partner_microlinktechnologies0
222 street: Ash House, Ash Road
223 title: base.res_partner_title_miss
225 I create product category .
227 !record {model: product.category, id: product_category_services0}:
228 name: Mobile Services
230 I create product template .
232 !record {model: product.template, id: product_template_lgviewtysmart0}:
233 categ_id: product_category_allproductssellable0
234 cost_method: standard
237 name: LG Viewty Smart
238 procure_method: make_to_order
239 standard_price: 160.0
240 supply_method: produce
242 uom_id: product.product_uom_unit
243 uom_po_id: product.product_uom_unit
245 I create product LG Viewty Smart.
247 !record {model: product.product, id: product_product_lgviewtysmart0}:
248 categ_id: product_category_allproductssellable0
249 cost_method: standard
252 name: LG Viewty Smart
253 procure_method: make_to_order
254 property_account_expense: account_pos_account_payable
255 property_account_income: account_pos_account_receivable
257 standard_price: 160.0
258 supply_method: produce
260 uom_id: product.product_uom_unit
261 uom_po_id: product.product_uom_unit
263 I create product category .
265 !record {model: product.category, id: product_category_computer0}:
268 I create product HP Pavilion Desktop PCs
270 !record {model: product.product, id: product_product_hppaviliondesktoppcs0}:
271 categ_id: product_category_computer0
272 cost_method: standard
275 name: HP Pavilion Desktop PCs
276 procure_method: make_to_stock
279 name: res_partner_microlinktechnologies0
283 uom_id: product.product_uom_unit
284 uom_po_id: product.product_uom_unit
285 property_account_expense: account_pos_account_payable
286 property_account_income: account_pos_account_receivable
288 I create New Order by adding the details of Salesman and "Product" as LG Viewty Smart Quantity as 10.
290 !record {model: pos.order, id: pos_order_pos0}:
291 company_id: base.main_company
292 date_order: '2010-05-13 15:02:48'
293 date_validity: '2010-11-13'
295 - company_id: base.main_company
298 product_id: product_product_lgviewtysmart0
301 partner_id: base.res_partner_agrolait
303 price_type: tax_excluded
304 pricelist_id: product.list0
305 sale_journal: account.sales_journal
307 user_salesman_id: base.user_root
311 !record {model: pos.discount, id: pos_discount_0}:
313 discount_notes: More then 5 product
315 I Apply the discount.
317 !python {model: pos.discount}: |
318 self.apply_discount(cr, uid, [ref("pos_discount_0")], {"lang": "en_US", "active_model":
319 "pos.order", "active_ids": [ref("pos_order_pos0")], "tz": False, "active_id":
320 ref("pos_order_pos0"), })
324 !record {model: pos.open.statement, id: pos_open_statement_0}:
327 I open the statement.
329 !python {model: pos.open.statement}: |
330 self.open_statement(cr, uid, [ref("pos_open_statement_0")], {"lang": "en_US", "active_model":
331 "ir.ui.menu", "active_ids": [ref("point_of_sale.menu_open_statement")], "tz":
332 False, "active_id": ref("point_of_sale.menu_open_statement"), })
334 I click on the "Make Payment" wizard.
336 !record {model: pos.make.payment, id: pos_make_payment_0}:
339 payment_date: "2010-05-13"
340 payment_name: Payment
341 product_id: product_product_hppaviliondesktoppcs0
342 pricelist_id: product.list0
343 partner_id: base.res_partner_agrolait
347 !python {model: pos.make.payment}: |
348 self.check(cr, uid, [ref("pos_make_payment_0")], {"lang": "en_US", "active_model":
349 "pos.order", "active_ids": [ref("point_of_sale.pos_order_pos0")], "tz":
350 False, "active_id": ref("point_of_sale.pos_order_pos0"), })
352 I check the Statement lines are created automatically when payment is done.
354 !python {model: pos.order}: |
355 order=self.browse(cr,uid,ref("pos_order_pos0"))
356 assert(order.statement_ids!=[]), "Statement lines not created"
358 When I click on Return picking button , I get three option.
360 1. Cancel 2.Return Goods and Exchange 3.Return without Refund
362 When I click on Return Goods and Exchange.
364 Then it allows me to define the quantity of products, which will return to the stock.
366 I click on Return Picking button.
368 !record {model: pos.return, id: pos_return_0}:
371 I Return the product.
373 !python {model: pos.return}: |
374 self.create_returns(cr, uid, [ref("pos_return_0")], {"lang": "en_US", "active_model":
375 "pos.order", "active_ids": [ref("point_of_sale.pos_order_pos0")], "tz":
376 False, "active_id": ref("point_of_sale.pos_order_pos0"), })
378 Then it allows me to define the quantity of products, which will return to the stock.
380 I select the HP Pavilion Desktop PCs for exchange.
382 !record {model: pos.add.product, id: pos_add_product_0}:
383 product_id: product_product_hppaviliondesktoppcs0
386 I click on close button.
388 !python {model: pos.add.product}: |
389 return_obj = self.pool.get('pos.return')
390 context['active_ids'] = [ref("pos_order_pos0")]
391 return_obj.view_init(cr, uid, [],context=context)
392 self.close_action(cr, uid, [ref("pos_add_product_0")], {"lang": "en_US", "active_model":
393 "pos.order", "active_ids": [ref("pos_order_pos0")], "tz": False, "active_id": ref("pos_order_pos0"),
398 !record {model: pos.make.payment, id: pos_make_payment_1}:
401 payment_date: "2010-05-13"
402 payment_name: Payment
403 product_id: product_product_hppaviliondesktoppcs0
404 pricelist_id: product.list0
405 partner_id: base.res_partner_agrolait
407 For payment, I click on Make Payment.
409 !python {model: pos.make.payment}: |
410 self.check(cr, uid, [ref("pos_make_payment_1")], {"lang": "en_US", "active_model":
411 "pos.order", "active_ids": [ref("pos_order_pos0")], "tz":
412 False, "active_id": ref("pos_order_pos0"), })
414 To check the Return without Refund . I click button "Return without Refund ".
416 !record {model: pos.return, id: pos_return_0}:
419 The quantity which is selected in Return lines wizard is refunded.
421 !python {model: pos.return}: |
422 self.create_returns2(cr, uid, [ref("pos_return_0")], {"lang": "en_US", "active_model":
423 "pos.order", "active_ids": [ref("pos_order_pos0")], "tz":
424 False, "active_id": ref("pos_order_pos0"), })
426 To Close order, I use the wizard "Sale Confirm".
428 !record {model: pos.confirm, id: pos_confirm_0}:
433 !python {model: pos.confirm}: |
434 self.action_confirm(cr, uid, [ref("pos_confirm_0")], {"lang": "en_US", "active_model":
435 "pos.order", "active_ids": [ref("pos_order_pos0")], "tz": False, "active_id": ref("pos_order_pos0"),
438 I check order state is done.
440 !python {model: pos.order}: |
441 order=self.browse(cr,uid,ref("pos_order_pos0"))
442 assert(order.state=='done'), "Order is not done"