Connect Google Spreadsheet

by
Odoo

188.80

v 13.0 Third Party 6
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 518
Technical Name odoo_connect_spreadsheet
LicenseOPL-1
Websitehttps://www.github.com/trinanda
Versions 17.0 12.0 13.0 14.0 15.0 16.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 518
Technical Name odoo_connect_spreadsheet
LicenseOPL-1
Websitehttps://www.github.com/trinanda
Versions 17.0 12.0 13.0 14.0 15.0 16.0
thumbnail.png

We are connecting Odoo with Google Spreadsheet using Google Drive and Google Sheet API. On how to set it up, we will provide the guide after you purchased this module, please contact me on Contact information that I provide at the bottom of this module description


Result

Here is example the result. result.png
For more detail how the spreadsheet connected and updated, you can check on bellow video https://youtu.be/gvfymFMBVOc

Terms

It is forbidden to use this module for prohibited things/harams, such as gambling, banking, riba/usury, selling forbidden food or forbidden drinks, selling cigarettes, alcoholic beverages, pornography, doll, painting of living creatures, religious goods, entertainment, cinema, music, buying and selling animals, lingerie, and another haram/prohibited things.

If anyone violates it, I absolve myself of sin and all that is associated with it.


Pre Requirements

  1. Google API Service Account
  2. Google Drive API
  3. Google Sheet API

Pricing & Quotas

All use of the Google Drive and Sheets API is available at no additional cost. And the more interest is Google Drive and Sheets API has per-minute quotas, and they're refilled every minute, even if you exceed the quota request limits it doesn't incur extra charges and your account is not billed.

Google Sheets API Quotas
Read requests Per day per project Unlimited
Per minute per project 300
Per minute per user per project 60
Write requests Per day per project Unlimited
Per minute per project 300
Per minute per user per project 60
https://developers.google.com/sheets/api/limits

Google Drive API Quotas
Queries Per 100 seconds 20,000
Per day 1,000,000,000 (1 billion)
Per 100 seconds per user 20,000
https://developers.google.com/drive/api/guides/limits

Here are the current features:


Select any models and its fields dynamically

You can select any models on your Odoo to connect to Google spreadsheet

select_any_models.png

And you can select any field in the model to display in the spreadsheet

select_any_fields.png

Choose whether you want to connect an existing spreadsheet or create a new one

existing_or_new.png

If do you want to connect to an existing, fill the Google spreadsheet ID

existing.png

The spreadsheet ID is the ID that showing in the spreadsheet URL like bellow

existing_spreadsheet.png

When you choose the "Existing" option, you will get warning such like this, that indicate you must grant the Google service account email permission first to the existing spreadsheet do you want to connect

warning_service_account_email_permission.png

To grant permission to the service account email, click on the Share button on the existing spreadsheet

grant_existing_spreadsheet_permission.png

But if you want to create a new spreadsheet instead, then select the "Create New" in the option above, then fill the Spreadsheet Title for the new spreadsheet

spreadsheet_title.png

You can update the spreadsheet in real-time, schedule action/cron job every (x) times, or you can also update it manually, it depends on your needs

update_type.png
  1. Realtime

    Every action such create, write and unlink on the selected model will update the spreadsheet automatically. Be careful with busy operations on the selected model and huge of rows, considering the quota limit from Google API. On the other hand this will also make your Odoo server be busy because it detects any create, write and unlink/delete on the selected model. But if your server is good enough, there is no problem with this method, because Google API provides quite a lot of request quota. Read more about quotas on the source link listed on the previous slide.

  2. Schedule Action/Cron Job

    The spreadsheet will be updated automatically every (x) time (minutes, hours, days, weeks, and months). You can define the (x) time freely depending on your wants or needs. Go to Settings -> Technical -> Scheduled Actions -> Update spreadsheet, in the example bellow we update the spreadsheet every 1 minutes. schedule_action.png

  3. Manual

    The spreadsheet will be updated when the user triggers Update Spreadsheet button

    manual_update.png

Create new sheets or use the existing

sheet_name.png

If you specify the Sheet Name and the name already exists in the existing spreadsheet, it will write your data in the existing sheet, but if there is no same name in the spreadsheet with the name you defined, it will create a new sheet and write your data on the new one. spreadsheet_sheets.png


Fill data in a specific range, default is A1 notation, we can change it to something like A1:B2, A:A, 1:2, etc...

range_name.png
A thing to note is the defined range cannot be less than the number of selected fields in the model, e.g: If you fill in the range name A:B it will fill your data in two columns in the spreadsheet, so you can't select more than two fields from the selected model, if you select more than two columns, when you update the spreadsheet, it will raise a warning indicating that you can not write more than two columns. If are you not sure, just keep the default A1 value, which means write data starting from A1 notation.

Clear or overwrite the old data

You can choose whether you want to clear all data in the selected sheet name and replace it with new data, if so check Clear Data to True. Or set it to False if you want to write data to the sheet name without clearing the existing data, but be careful when choosing a range name, because it can overwrite old data (if any) with new data in the selected range.

clear_sheet.png

Grant access to the spreadsheet for certain users

You can grant Write or Reader access to the spreadsheet, just select the contact and make sure their email is set up.

grant_access.png

Timezone

By default Odoo displays Datetime according to the user's time zone, for example, the Date Order of Purchase Order in the database is stored at 26-12-2022 03:00:00 (UTC), but if a user's time zone is GMT+7 Date Order will be displayed on 2022-12-26 10:00:00. Interestingly with this option, you can select the timezone you want to display when connecting Odoo with a spreadsheet.

timezone.png

Contact

If you have any question or want to custom specific features on this module/addons or want to custom another modules, please contact me on:
Email: trinanda357@gmail.com
Telegram: @da_ti
WhatsApp: +62 822 6181 9233

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.