Customization

This section outlines the elements you can customize within the Fiscal QR OCR module to match your brand while preserving Incode's core UX. It clarifies which areas are flexible, such as text, scanning frame colors, and brand colors, and which elements remain fixed to ensure consistency, accessibility, and reliable QR detection logic across platforms.


Tutorial Screen

This screen prepares the user for the QR scanning step. It displays a dedicated illustration of a fiscal QR code and provides instructions on how to position the document before proceeding.


Customizable Elements

AreaWhat can be customizedNotes
Title textScreen title ("Zoom the QR code inside the frame")Fully localizable; should remain clear and action-oriented.
Subtitle textSupporting instruction ("QR will be scanned automatically")Tone can match your brand voice; should remain informative.
QR illustrationFiscal QR code illustrationCan be recolored using brand tokens.
QR frame border colorIllustration frame strokeUses brand tokens.
ButtonLabel, color, radiusMust follow platform guidelines.
Background ColorScreen backgroundMust maintain strong contrast with text and elements.
Brand ColorsHeader text, accent colorUses brand tokens.
Footer"Verified by Incode" lineOptional but recommended for trust and product consistency.


Fixed Elements

ElementWhy it is fixed
QR detection logicMust remain consistent for accurate fiscal QR code scanning.
Component spacing & safe areasRequired for device compatibility and visual stability.
Text hierarchyOptimized to communicate requirements clearly.
WCAG contrast requirementsMandatory for accessibility and regulatory compliance.


Token Refearence

UI ElementTokenValue
BackgroundSurface/Neutral/0 → Color/Gray/0#FFFFFF
Title textText/Body/800 (Primary) → Color/Gray/800#262831
Subtitle textText/Body/500 (Secondary) → Color/Gray/500#60667C
QR frame borderBorder Status Focus → Color/Brand/500#006AFF
Button backgroundButton/Primary/Surface/Default → Surface/Brand/500 Static → Color/Brand/500#006AFF
Button textButton/Primary/Text/Default → Text/Body/0 Static → Color/Gray/0#FFFFFF
Footer textText/Body/500 (Secondary) → Color/Gray/500#60667C
Footer iconIcon/Brand/500 Static → Color/Brand/500#006AFF
Close iconIcon/Neutral/0 Static → Color/Gray/0#FFFFFF

Design Notes

  • Keep the instruction text concise and specific — users should immediately understand what type of document and QR code is expected.
  • The QR code illustration should reinforce what the user needs to locate on their document before proceeding.
  • Ensure tap targets meet accessibility guidelines.


Ready to Scan

This screen appears when the camera is active and the module is waiting for the user to align a fiscal QR code within the scanning frame. The frame is in its neutral/searching state.


Customizable Elements

AreaWhat can be customizedNotes
Title textScanning instruction ("Align QR code in the frame")Fully localizable; should remain clear and action-oriented.
Skip buttonLabel, colorAction should allow the user to exit the scanning flow if needed.
BackgroundCamera view overlayDark background is standard for camera screens.

Fixed Elements

ElementWhy it is fixed
Camera viewLive camera feed required for QR code detection.
Scanning frame shape and positionRequired for accurate QR code alignment and detection.
Frame color statesBlue = searching, green = detected, red = error. Logic is fixed; colors can be updated via tokens.
QR detection logicMust remain consistent for accurate fiscal QR code scanning.
Spacing & safe areasRequired for device consistency.

Token Reference

UI ElementTokenValue
Title textText/Body/0 Static → Color/Gray/0#FFFFFF
Skip button textText/Body/0 Static → Color/Gray/0#FFFFFF

Design Notes

  • Keep messaging short and reassuring; users should feel confident before proceeding.
  • The green checkmark and clean layout reinforce the positive outcome without additional explanation needed.
  • Background should remain clean to keep focus on the confirmation.


Scanning - QR Detected

This state is shown automatically when the camera successfully detects a fiscal QR code within the scanning frame. The frame border transitions to green to communicate that detection was successful and data extraction is in progress.


Customizable Elements

AreaWhat can be customizedNotes
Title textScanning instruction textFully localizable.
Skip buttonLabel, colorRemains available during detection.
Frame border color (detected state)Green border on successful detectionUses positive status token.


Fixed Elements

ElementWhy it is fixed
Detection triggerFrame color changes automatically upon successful QR detection; cannot be manually triggered.
Status color mappingGreen = detected/success; required for consistent user feedback.
QR detection logicMust remain consistent for accurate data extraction.

Token Reference

UI ElementTokenValue
Title textText/Body/0 Static → Color/Gray/0#FFFFFF
Frame border (detected)Border Status Positive Static → Color/Positive/500#189F60
Skip button textText/Body/0 Static → Color/Gray/0#FFFFFF

Design Notes

  • The green frame transition happens automatically — no additional UI elements or animations should be added to this state.
  • Keep the interface clean to allow users to focus on holding the document steady while data is being extracted.ity.


Error — Invalid QR Code

Shown inline within the scanning screen when the detected QR code does not correspond to a valid fiscal document. The frame border changes to red and an error message appears below the frame, allowing the user to reposition and retry without leaving the screen.


Customizable Elements

AreaWhat can be customizedNotes
Title textScanning instruction textFully localizable.
Inline error message textError feedback ("Invalid QR scanned, try again")Fully localizable; tone should be neutral and instructive.
Frame border color (error state)Red border on invalid detectionUses negative status token.
Skip buttonLabel, colorAction remains available to exit the flow.


Fixed Elements

ElementWhy it is fixed
Error logicMust accurately reflect the QR validation result.
Status color mappingRed = negative/invalid; required for clarity and consistency.
Inline error placementPositioned directly below the frame for clear attribution.

Token Reference

UI ElementTokenValue
Title textText/Body/0 Static → Color/Gray/0#FFFFFF
Frame border (error)Border Status Negative → Color/Negative/500#E71111
Inline error textText/Status/Negative → Color/Negative/500#E71111
Skip button textText/Body/0 Static → Color/Gray/0#FFFFFF

Design Notes

  • Error messaging should be clear, direct, and action-oriented — users should understand they need to try a different QR code without feeling blamed.
  • The red frame provides immediate visual feedback; pair it with the inline text to ensure accessibility.


Error — Link Expired

Shown as a full-screen state when the onboarding session link the user is trying to access has expired. The user is informed of the issue and prompted to request a new link to continue the process.


Customizable Elements

AreaWhat can be customizedNotes
Title textError message ("Your link expired")Fully localizable; tone should be neutral and non-blaming.
Subtitle textSupporting detailFully localizable.
Status iconError indicatorCan be replaced; must remain clearly negative.
Background colorFull screenMust support strong contrast.


Fixed Elements

ElementWhy it is fixed
Session expiry logicMust accurately reflect the session state; cannot be bypassed.
Status color mappingRed = negative; required for clarity and consistency.
Title hierarchyEmphasizes the issue clearly.

Token Reference

UI ElementTokenValue
BackgroundSurface/Neutral/0 → Color/Gray/0#FFFFFF
Title textText/Body/800 (Primary) → Color/Gray/800#262831
Subtitle textText/Body/500 (Secondary) → Color/Gray/500#60667C
Status icon backgroundIcon/Status/Negative → Color/Negative/500#E71111
Status icon (X mark)Icon/Neutral/0 → Color/Gray/0#FFFFFF

Design Notes

  • Messaging should be clear and guide the user toward a concrete next step — requesting a new link.
  • Avoid technical language; the user should understand the issue immediately.
  • Maintain consistent spacing and visual hierarchy for readability.