Does ERPNext support QR code in the inventory module

Is Erpnext support QR code at inventory module

I m following @Alaa_Badri

qrcode.js this is the code.

1 Like

ok from what I understand is this needs to be added as an app?


I found a video on how this was done for bar-codes Prateeksha Singh - Frappe Controls, Barcode Controller - YouTube

Looking at this bar-codes, qr-codes can be done in the same way.

the controller

import Jsqrcode from “qrcodejs”;

frappe.ui.form.Controlqrcode = frappe.ui.form.ControlData.extend({
make_wrapper() {
// Create the elements for qrcode area

	let $input_wrapper = this.$wrapper.find('.control-input-wrapper');
	this.qrcode_area = $(`<div class="qrcode-wrapper border"><svg height=80></svg></div>`);

parse(value) {
	// Parse raw value
	return value ? this.get_qrcode_html(value) : "";

set_formatted_input(value) {
	// Set values to display
	const svg = value;
	const qrcode_value = $(svg).attr('data-qrcode-value');


get_qrcode_html(value) {
	// Get svg
	const svg = this.qrcode_area.find('svg')[0];
	Jsqrcode(svg, value, this.get_options(value));
	$(svg).attr('data-qrcode-value', value);
	return this.qrcode_area.html();

get_options(value) {
	// get Jsqrcode options
	let options = JSON.parse('{ "height" : 40 }');
	if (this.isValidJson(this.df.options)) {
		options = JSON.parse(this.df.options);
		if (options.format && options.format === "EAN") {
			options.format = value.length == 100 ? "EAN8" : "EAN13";

		if (options.valueField) {
			// Set companion field value
			this.frm.set_value(options.valueField, value);
	return options;

isValidJson(jsonData) {
	try {
		return true;
	} catch (e) {
		return false;


But this is the error i get when i use the bench build command

UNRESOLVED_IMPORT : ‘qrcodejs’ is imported by frappe/public/js/frappe/form/controls/qrcodegen.js, but could not be resolved – treating it as an external dependency
Cannot find some dependencies. You may have to run “bench setup requirements” to install them.

any clues? thanks

fixed the last one

broke it again. :frowning:

any good news ?