Frappe
Cloud
Marketplace
Frappe
Products
Insights

Installation Guide
installs
Publisher
Supported versions
Categories
E-Commerce
About
Scan Me is a Frappe framework utility app designed to enhance documents and print formats with QR codes, barcodes, and smart links. It provides developers with ready-to-use Jinja functions, global JavaScript utilities, and auto-loaded configuration to seamlessly embed scan-friendly elements across Desk, Forms, and Print Formats. The app removes complexity for developers and enables businesses to add QR-enabled workflows in seconds.
The app is built to solve the following needs:
Add QR codes and barcodes into Print Formats without writing long boilerplate code.
Automatically show QR codes inside DocType fields using a single JS function.
Provide a consistent, reusable API for developers when adding QR/Barcode features in any Frappe project.
Make document verification easier by embedding unique QR links to Frappe documents.
Provide utility functions that work both inside Desk and during PDF generation.
Add QR codes or barcodes with one line of Jinja inside a Print Format.
Inject QR into field descriptions using a simple JS call.
Enhance existing documents without modifying core Frappe code.
Can generate QR codes automatically via:
Print Formats
Desk Form Buttons (using your setup doctype)
Auto-generated description fields
Users can scan these QR codes to:
View document details
Access external URLs
Verify printed copies
The app auto-loads custom Jinja functions that developers can directly use inside any print format.
Available Functions
Function | Description |
qr(doc.name, clearity=10, fill_color='black',include_logo=True) | Generates a QR code image from any value/text. |
barcode(doc.name, barcode_type='code128', module_height=25) | Generates a barcode image. |
qr_link('Sales Invoice', doc.name, clearity=10, fill_color='black') | Creates a QR code that redirects to a URL or document page. |
<img src="{{ qr(doc.name, clearity=10, fill_color='black',include_logo=True) }}" width="120"><img src="{{ barcode(doc.name, barcode_type='code128', module_height=25) }}" width="200">
<img src="{{ qr_link('Sales Invoice', doc.name, clearity=10, fill_color='black') }}" width="120">
A global JS helper is added to make QR insertion extremely easy inside desk forms.
add_qr_to_description(frm, fieldname, value)frm.fields.forEach(f => {const fieldname = f.df.fieldname;
const desc = (f.df.description || "").toLowerCase();
// Check if description mentions 'qr'
if (desc.includes("qr")) {
const value = frm.doc[fieldname];
add_qr_to_description(frm, fieldname, value);
}
});
What It Does
Automatically generates a QR code
Embeds it inside the description of any field
Works instantly when the form loads or on button click
Cleaner integration for QR & Barcode tools.
Works with both standard and custom print formats.
Auto-load logic added via hooks.py — zero configuration needed.
Simplified onboarding experience for developers.
Requires a Setup DocType where the "Generate QR" button exists.
The target field must have a description area for QR auto-insertion.
Not all PDF engines perfectly support embedded QR images (WIP).
Camera-based Direct QR Scanning inside Desk.
Digitally Signed Document generation.
Full PDF-safe QR rendering support.
More Jinja utilities (Signatures, Stamps, NFC link tags).
QR & Barcode widget for Web Forms.
NFC-encoded smart link support.
Scan Me is a developer-focused utility app that makes QR and Barcode integration in Frappe extremely simple. It enhances print formats, form descriptions, and automation workflows with minimal code and maximum flexibility.
User Reviews
5 stars
%
4 stars
%
3 stars
%
2 stars
%
1 star
%
•
Reply
1 rating
Explore more apps