Sale Order Square Terminal Integration

by
Odoo

268.00

v 17.0 Third Party
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Inventory (stock)
Invoicing (account)
Discuss (mail)
Lines of code 2310
Technical Name sale_square_terminal_integration
LicenseOPL-1
Versions 17.0 16.0 15.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Inventory (stock)
Invoicing (account)
Discuss (mail)
Lines of code 2310
Technical Name sale_square_terminal_integration
LicenseOPL-1
Versions 17.0 16.0 15.0

With this app, you will be able to create sales orders faster, providing a comprehensive workflow from confirming the sale order, validating stock picking, creating payment, reconciling the tax invoice and refunding, all with just one click. It supports two payment methods, cash and card, through the Square Terminal.

Cash Payment

Square Terminal Payment

OAuth and Webhooks Configuration:


Input Production Redirect URL: https://yourdomain.com/square/oauth
Your odoo domain must be https.
Add Webhook subscriptions as below
Input url enpoint:https://yourdomain.com/pos_square/notification


What you have after intalling this app:

1. 2 new item menus on Sales

"Immediate Payment Orders": List all completed orders using the workflow of this app. We refer to them as "Immediate Payment Orders."
"New Immediate Payment Order": When you select this item, you will create a new sale order immediately. You can scan the product barcode to enter it into the sale order line.

2. New Operation Type

With this operation type, you can set up the default source location, return type...

3. 3 Payment methods
After you install this app, my app will create 3 Payment methods. Cash, "Square Test" for test mode and "Square" for production.


3.1. "Square Test" Configuration: By default, 2 simulator devices is created. You can refer below link for futhers details about simulator device
https://developer.squareup.com/docs/devtools/sandbox/testing
Notice: For 2 Square Simulator devices, The transaction will automatically complete for order amount under $20. If order amount is over $20, the transaction will be pending.
Go back to Square developer and get credentials infomation and input into paymnet menthod.
And input location info

Notice: You also need to add webhook for test mode.

3.2. "Square" Configuration: There are diffirent configuration between the test mode and production mode. With the Production, you need to authorize, and then you get the access token. The access token will be expired after 30 days. But you dont worry about this one. The App will check and refresh access token automatically. You only authorize just one time.

You need to input "Application ID", "Application Secret", and "Location ID". Go back to Square developer and get these infomation, don't forget switch to Production mode.


After you input these infomation, then click on Authorize button. If everything is ok, you will see this message as below:
And the next step. you will define a Square Teminal device and pair it with your PoS.
After you add a new device and save the form, you will see "Get Device Code" button.

Click on the button, you will see the device code. This device code is available in 5 minutes, and you have to login Square Terminal by this code within 5 minutes.
Otherwise, the device code will be expired. If it expired, you must delete that device, create a new one and get device code again.
Login Square Terminal by device code

If you see this screen on Square Terminal, you logged in successful
And then you can come back form view and reload. You will see the "Device Id (S/N)" and the status will be updated to PAIRED

From now on, you can use the Square Terminal.


Sales Configuration:

After you finish Payment Methods and Square device configuration. You need to do some configurations on Sales app.


Select Operation Type which was created after intalling this app.

Select default customer. This customer will be selected when you create new immediate payment order.

Enable Square fee, select the fee product and input fee percentage you would like to to charge customer.

List features:

1. Able to scan product barcode, product serial number, product lot on the Sale Order Form.

If you manage the product by serial number or lot number, you print the serial number or lot number as a barcode and stick it onto the product. When you use a scanner to scan these barcodes, the product will be inputted into the sale order line. When you check out and register payment, my app will use the serial number or lot number for stock picking.
However, if you don't manage the product by serial number or lot number, then you only need to scan the product barcode.
The product that you just scanned will appear as the first line on the sale order line and will be highlighted in red to draw attention. This red highlighting will automatically disappear after 1 second.

Here is an example scenario. We have product serial numbers, product lots, as well as stock on hand as shown in the image below.



We are doing scan barcode to input product into sale order line
This is sale Order

Delivery Stock picking

Tax invoice

2. Support multiple Square Teminal Device.

3. Support Square fee.

You can charge customer when they pay by Square terminal. You have to enable "Square Fee" option in Sale Configuration

Tax invoice

4. Easy one-click refund.

- Allow selecting the product for return, and it will automatically generate a return stock picking. After validating the return stock picking, the system will automatically generate a credit note.
- If the payment method for the sale order is cash, the system will create a payment, validate the credit note, and reconcile it as well.
- If the payment method for the sale order is Square, the system will send a refund request to Square. Through a webhook, the refund status will be updated. If Square confirms a successful refund, the system will automatically reconcile the credit note.
- Support multiple returns.
For example, there is a sales order as shown in the image below.
Click on "Refund" button

After you click on "Return" button, You will direct to return stock picking

After you click on "Validate" button, System will create a credit note, payment, if your sale order was paid by cash, the credit note will be reconciled automatically.
Sale order after refund

Retun stock picking was done.
Tax invoice was reconciled.

Account payment was created.
If your sales order has been paid via Square terminal, the system will generate a credit note, a payment, and send a refund request to Square. The credit note will be automatically reconciled upon receiving a successful refund result from Square through a webhook. The Square refund processing can take from 1 to 3 days.
Due to some reason, Square is not calling the webhook. You can manually check the refund status.




Email Support: huynh.giang.son.gs@gmail.com

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.