Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Productivity
  3. Chatter Camera Capture v 19.0
  4. Sales Conditions FAQ

Chatter Camera Capture

by Grevlin Global Corp
Odoo

$ 40.89

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 284
Technical Name grev_od_camera_attach
LicenseOPL-1
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 284
Technical Name grev_od_camera_attach
LicenseOPL-1
  • Description
  • Documentation
  • License
📷

Chatter Camera Capture

Snap a photo or record a short video straight from the Chatter — attached to the record in a single tap, without ever leaving Odoo.

✓ Odoo 19.0   |   ✓ Zero Backend Changes   |   ✓ Mobile Ready

Field technicians, warehouse staff and delivery agents constantly need to attach visual proof — a damaged package, a serial number, a site photo — to an Odoo record. Today that means four context switches for one picture. Chatter Camera Capture collapses the whole flow into one tap, right where the paperclip already lives.

Core Features

📎

Capture from the Chatter

A camera icon sits right before the paperclip in every record's Chatter. Open any form — Maintenance, Stock Picking, Contact, Sale Order — and attach a photo or video in a single dialog.

💬

Capture from Discuss

The same one-tap capture is available in the Discuss composer, immediately before Attach Files. Share a quick video walkthrough or a whiteboard snapshot right in the channel.

🎥

Photo and Video Modes

Toggle between still photo (JPEG) and short video (WebM with VP9 / VP8 / MP4 fallback) inside the same dialog. Video mode automatically requests the microphone; photo mode does not.

📱

Rear Camera by Default

On phones and tablets the dialog requests the environment-facing camera so field users can point-and-shoot without flipping the device or switching cameras.

🔄

Retake Before You Commit

Preview the capture, retake if needed, or confirm to attach. Every retake cleanly stops and restarts the camera stream — no stale previews, no leaked tracks.

🔒

Privacy-First Teardown

All media tracks are stopped on every close path — confirm, cancel, escape, retake, mode switch. The device camera LED turns off the moment the dialog closes.

🛡

Zero New Backend Surface

No new models, no new controllers, no new routes. Captures are uploaded through Odoo's standard mail.attachment_upload service — the exact same code path the paperclip uses.

⚠

Graceful Fallbacks

On insecure origins or unsupported browsers the dialog shows a clear in-modal message. Permission denials stay inside the dialog so users can retry — no silent failures, no console errors.

How It Works

1

Tap the Camera

A new camera icon is rendered immediately to the left of the paperclip in the Chatter and before Attach Files in the Discuss composer.

2

Capture

Live preview opens in a modal. Capture a photo, or start / stop a video recording. Retake as many times as you need.

3

Attach

Hit Attach — the media lands in the Chatter (or channel message) with a timestamped filename, thumbnail and all.

Built For the Field

🔧 Field & Maintenance

Attach a photo of a broken part to a Maintenance Request from a tablet on the shop floor — in seconds.

🚚 Warehouse & Delivery

Capture proof-of-damage photos on a stock picking or delivery order from a phone at the loading dock.

💬 Internal Collaboration

Quickly share a whiteboard snapshot or a short walkthrough video in a Discuss channel using a built-in webcam.

📄 Back-Office Documents

Snap a physical invoice or a signed form straight into the related record from a laptop webcam.

Screenshots

Chatter Camera Capture — hero visual

One camera button, right next to the paperclip — in the Chatter and in Discuss.

Upgrade-Safe by Design

✓ Odoo 19.0, depends on mail only

✓ Pure JS / XML — no Python models, no controllers

✓ No database changes, no new tables

✓ Inherits Odoo's existing attachment ACLs

✓ Extends mail.Chatter via t-inherit + patch()

✓ Registers composer action with sequence 19

✓ Uploads through /mail/attachment/upload

✓ Zero monkey-patching of Odoo core files

Changelog

Version 19.0.1.0.0 — Initial Release

  • One-tap camera button in the mail Chatter, right next to the paperclip
  • Matching camera action in the Discuss composer, before Attach Files
  • Photo mode (JPEG) and short-video mode (WebM with VP9 / VP8 / MP4 fallback)
  • Rear-facing camera requested by default on mobile and tablets
  • Retake flow with clean stream restart
  • Full media-track teardown on every close path (confirm, cancel, escape, retake, mode switch)
  • Graceful fallback on insecure origins and unsupported browsers
  • Uploads through Odoo's standard mail.attachment_upload service — no new routes or models
💬

Need Help?

For support, contact us at odoo@grevlin.com

Follow us on X: @GrevlinGlobal

✨ 30 Days Free Support Included

Built by Grevlin Global Corp — Odoo modules made by people who ship Odoo every day.

Chatter Camera Capture

Overview

grev_od_camera_attach adds a one-click camera capture button to Odoo's mail stack so users can take a photo or record a short video directly from the record form (Chatter) or from the Discuss composer. The captured media is attached to the current record or channel message using Odoo's standard attachment pipeline — no new endpoints, models, or storage rules.

The module is intentionally minimal:

  • No Python models — pure JS / XML / SCSS.
  • No new controllers — captures flow through /mail/attachment/upload.
  • No core modifications — everything is done via patch(), t-inherit and registerComposerAction.

Requirements

  • Odoo 19.0
  • Standard mail module (loaded automatically as a dependency)
  • A browser that supports navigator.mediaDevices.getUserMedia and MediaRecorder (any recent Chromium, Firefox or Safari)
  • HTTPS origin — browsers only expose getUserMedia on secure origins. On plain http:// the dialog opens but shows an explicit notice instead of a live preview.

Installation

  1. Copy the grev_od_camera_attach folder into your Odoo addons path.
  2. Restart the Odoo server.
  3. Go to Apps, click Update Apps List, search for Chatter Camera Capture and click Install.

No additional configuration is required — the module activates automatically for every backend user.

Usage

From a record form (Chatter)

  1. Open any record that has a Chatter (for example a Contact, Sale Order, Stock Picking or Maintenance Request).
  2. In the Chatter topbar, click the camera icon that sits immediately to the left of the paperclip (Attach Files) icon.
  3. Grant camera access when the browser prompts you.
  4. Choose Photo or Video mode in the dialog.
  5. Click Capture (photo) or Start recording → Stop recording (video). Preview the result.
  6. Click Retake to try again, or Attach to push the media into the record.

The attached file appears in the Chatter attachment list with a timestamped filename (for example photo-2026-04-09T14-32-05.jpg).

From the Discuss composer

  1. Open any Discuss channel or direct message.
  2. In the composer action bar, click the camera icon that sits immediately before the Attach Files action.
  3. Follow the same Capture → Preview → Attach flow as above.
  4. Click Send to post the message with the freshly captured attachment.

Photo vs. Video mode

Mode Behaviour
Photo Captures a single JPEG frame at quality 0.92. Microphone is not requested.
Video Records using MediaRecorder. The container is selected from vp9,opus → vp8,opus → webm → mp4 based on browser support. Microphone is requested.

Note

No hard time cap is enforced on video recordings in this release. Keep recordings short to stay within reasonable upload sizes.

Permissions & privacy

  • Attachments inherit Odoo's existing access rules — the module does not introduce any new security groups or record rules.
  • All MediaStreamTrack instances are stopped on every close path (confirm, cancel, escape, retake, mode switch, component unmount). The device camera indicator turns off the moment the dialog closes.
  • If the user denies camera access, the error is displayed inside the dialog and the dialog stays open so the user can retry after adjusting browser permissions.

Troubleshooting

The camera button does not appear

  • Confirm the module is installed: Apps → Chatter Camera Capture → Installed.
  • Hard-reload the browser (Ctrl+Shift+R) to force Odoo to reload the backend assets bundle.
  • Open the browser console and look for JS errors mentioning Chatter or composer_actions.

The dialog opens but there is no video preview

  • Make sure Odoo is served over HTTPS. navigator.mediaDevices is undefined on plain http://, which is a browser-level restriction.
  • Check that no other application (Zoom, Meet, Teams) currently owns the camera.
  • Check the browser site permissions for the Odoo URL and re-grant camera access if needed.

Video recording fails on Safari

Older versions of Safari do not implement MediaRecorder. In that case the dialog shows an error message inside the modal. Use Chromium, Firefox, or a recent Safari build.

Technical architecture

Module layout

grev_od_camera_attach/
├── __manifest__.py
├── __init__.py
├── doc/
│   ├── index.rst                 ← this file
│   └── prd/                      ← product requirements
└── static/src/
    ├── js/
    │   ├── camera_dialog.js           ← shared OWL 2 dialog
    │   ├── chatter_patch.js           ← Chatter.prototype patch
    │   └── composer_actions_patch.js  ← registerComposerAction
    ├── xml/
    │   ├── chatter_patch.xml          ← t-inherit of mail.Chatter
    │   └── camera_dialog.xml          ← <Dialog> template
    └── scss/
        └── camera_dialog.scss

Extension points

File Odoo core target Technique
xml/chatter_patch.xml mail.Chatter template t-inherit + xpath position="before"
js/chatter_patch.js Chatter class patch(Chatter.prototype, {...})
js/composer_actions_patch.js composer_actions registry registerComposerAction("camera-capture", ...)
js/camera_dialog.js New component Extends OWL Component, renders <Dialog>

Upload path

Both entry points share the same upload path:

CameraDialog.confirm()
    → new File([blob], filename, { type })
    → this.props.attachmentUploader.uploadFile(file)
        → mail.attachment_upload service
            → POST /mail/attachment/upload
                → ir.attachment create

No custom route, no custom service, no custom model.

Known limitations

  • No client-side image editor (no cropping, filters, annotations).
  • No maximum video length enforced in this release.
  • No front/rear camera toggle — the dialog requests facingMode: "environment" and falls back to the default camera.
  • Website / portal frontend forms are out of scope in this iteration.

Support

  • Email: odoo@grevlin.com
  • X: @GrevlinGlobal
  • Free support window: 30 days from the purchase date.

Credits

Author

  • Grevlin Global Corp

License

This module is distributed under the OPL-1 license. See the license key in __manifest__.py for details.

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.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with