(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon

Register QR in SharePoint with Power Apps / Power Platform

João Barros 20 de July de 2026 4 min read

Register QR in SharePoint with Power Apps / Power Platform is useful for inventories, check‑ins or asset tracking. This tutorial shows how to create a Canvas app that uses the BarcodeScanner control to capture a code and record the value, the user and the time in a SharePoint list.

Prerequisites

  • Account with access to Power Apps and SharePoint (permissions to create lists).
  • SharePoint Online to create a list where scans will be recorded.
  • Power Apps Mobile or browser with camera (the BarcodeScanner works best on mobile).

Step 1: Create the SharePoint list

Create a new list called QRLog with basic columns. Example columns:

Title (Single line) – can be used to identify the record
Barcode (Single line)
ScannedBy (Single line)
ScannedAt (Date and Time)

Leave the Title column required (or use another logic) — we will fill it automatically in the app.

Step 2: Create the Canvas app and connect the list

In Power Apps Studio create a Canvas app (mobile layout is recommended). In Data, add the SharePoint data source and select the QRLog list.

Step 3: Insert the BarcodeScanner and an EditForm

On the main screen insert a BarcodeScanner (e.g. BarcodeScanner1) and an EditForm (FormScan) connected to QRLog. Set the FormMode to New:

FormScan.Mode = FormMode.New
FormScan.DataSource = QRLog
FormScan.Item = Defaults(QRLog)

Include the DataCards for Barcode, Title, ScannedBy and ScannedAt (the EditForm will generate them automatically if you choose the fields).

Step 4: Prepare variables and bind the scan to the form

We will use a variable to temporarily store the scanner value and populate the DataCards before submitting.

Select the BarcodeScanner1 control and, in the OnScan property, put:

Set(varScannedValue, BarcodeScanner1.Value);
Set(varScannedTime, Now());
Set(varScannedBy, User().FullName);
SubmitForm(FormScan)

Now adjust the DataCards to use those variables as default values:

/* In the DataCardValue for the Barcode field */
DataCardValue_Barcode.Default = varScannedValue

/* In the DataCardValue for the ScannedAt field */
DataCardValue_ScannedAt.Default = varScannedTime

/* In the DataCardValue for the ScannedBy field */
DataCardValue_ScannedBy.Default = varScannedBy

/* Optional: automatic Title */
DataCardValue_Title.Default = "Scan-" & Text(varScannedTime, "yyyy-mm-dd_hhmmss")

Notes: if the DataCardValue names are different, adjust accordingly. SubmitForm will send the current form values to SharePoint.

Step 5: Handle success and failure

To confirm the submission succeeded, use the OnSuccess and OnFailure events of FormScan. Simple examples:

/* FormScan.OnSuccess */
Notify("Scan registered successfully", NotificationType.Success);
ResetForm(FormScan);
Set(varScannedValue, "");

/* FormScan.OnFailure */
Notify("Error registering. Check connection and permissions.", NotificationType.Error);

These actions clear the form and inform the user.

Common errors and how to fix them

  • The BarcodeScanner does not open the camera in the browser: test the app in Power Apps mobile (iOS/Android) — the functionality may be limited in the browser.
  • List permissions: confirm the account used has permissions to add items to the SharePoint list.
  • Fields do not appear in the Form: open the form, choose Edit Fields and add the correct fields (Barcode, ScannedBy, ScannedAt, Title).
  • Date format: if ScannedAt is incorrect, confirm the column type in SharePoint (Date and Time) and the format used in the Default.

Verify the result

Open the QRLog list in SharePoint and check if new items appear with the code value, the user name and the timestamp. In Power Apps, test the app on a mobile device: open it, press the BarcodeScanner, scan a QR and observe the success notifications.

Conclusion

You now have a simple Canvas app that records QR/Barcode in SharePoint with Power Apps / Power Platform, without complex code. Next steps: add geolocation with Location, support offline mode using Collections and SaveData/LoadData, or validate duplicates before saving. Tip: did you test scanning under different lighting and angles to ensure the BarcodeScanner robustness?