← Back to Research

Decentralized Accounting System

Master's thesis University of Pisa

This thesis explored the design and implementation of a decentralized accounting and document-management system for a restaurant use case. The prototype combines blockchain-based transactions, Solid Pods for privacy-preserving document storage, MetaMask payments, QR-code-based interaction, and eBill-inspired billing workflows.

Blockchain Ethereum Solid Pods MetaMask QR codes eBill SME accounting

2021/22

academic year

SME

restaurant use case

Solid

private document storage

ETH

blockchain transaction layer

Context

The thesis starts from a practical problem: accounting and document management in small and medium-sized businesses can be costly, manual, error-prone, and difficult to verify. In a restaurant scenario, payments, invoices, orders, customer interactions, and supplier operations create a flow of documents that must remain consistent, auditable, and accessible to the right actors.

The proposed solution uses blockchain as a transparent and tamper-aware transaction layer, while Solid Pods provide a separate privacy-preserving storage layer for documents and business data that should not be placed directly on-chain.

Conceptual background

The work connects multiple concepts: ERP systems, electronic billing, Ethereum, smart contracts, Web3, Solid Pods, QR codes, and digital wallets. The key design idea is to avoid treating blockchain as a general-purpose database: verifiable payment events can be anchored on-chain, while sensitive documents remain stored in controlled, access-managed Pods.

Solid architecture

Solid architecture

The thesis uses Solid Pods as a privacy-preserving storage layer for business documents, invoices, orders, and data access control.

ERP domain

ERP domain

The work starts from the accounting and ERP context, where administrative processes can become costly, manual, and error-prone.

Invoice formats

Invoice formats

The thesis discusses the evolution from paper invoices to PDF/XML and electronic billing formats.

eBill flow

eBill flow

The eBill process is used as a reference for designing a more digital and traceable billing workflow.

Architecture and design

The prototype models the restaurant as an interaction between physical space, customer actions, digital ordering, document storage, and payment confirmation. QR codes connect tables and invoices to the web interface, Solid manages private resources, and the blockchain layer handles payment-related verification.

Restaurant flow

Restaurant flow

A model of incoming and outgoing restaurant flows, including customers, business actors, services, bills, and payments.

Restaurant timeline

Restaurant timeline

A timeline of the customer experience, from entry to menu selection, ordering, service, billing, and payment.

Infrastructure components

Infrastructure components

The implementation combines web technologies, Solid, Ethereum, MetaMask, QR codes, eBill concepts, and deployment tooling.

Infrastructure layers

Infrastructure layers

The proposed architecture separates interface, API, Solid, Pods, menu, eBill, and hash/blockchain layers.

Wallet-blockchain structure

Wallet-blockchain structure

The payment side connects Ethereum, MetaMask, Web3.js, and blockchain transactions.

Solid graph interactions

Solid graph interactions

The Solid-based data flow models how orders, bills, storage, and access-controlled resources interact.

Prototype workflow

The implemented prototype follows the customer journey: access the table-specific interface, browse the menu, manage the cart, generate the bill, confirm payment, and obtain a digital document that can be connected to the accounting workflow.

Menu and cart

Menu and cart

The user interface separates menu browsing from cart management.

Product list

Product list

Products are loaded from the restaurant data layer and exposed through the web interface.

Product description

Product description

The prototype includes product details and purchase actions.

Quantity update

Quantity update

The cart supports quantity changes before order confirmation.

Get bill phase

Get bill phase

The customer can move from ordering to bill generation.

Billing phase

Billing phase

The billing workflow produces a payable state before final settlement.

MetaMask experience

MetaMask experience

MetaMask is used to confirm the blockchain payment transaction.

Table QR code

Table QR code

QR codes are used to identify the table and connect the physical restaurant space with the digital workflow.

Digital bill QR code

Digital bill QR code

The invoice flow includes QR-based identification for payment and document retrieval.

Pre-invoice

Pre-invoice

The prototype generates a pre-invoice containing order, payment, and blockchain-related information.

Implementation stack

Backend and web interface

Node.js, Express, EJS, JavaScript, static assets, and Heroku-oriented deployment.

Decentralized data

Solid Pods, Inrupt APIs, WebID, access-control policies, containers, and document resources.

Payment and verification

Ethereum, MetaMask, Web3 interaction, QR codes, billing states, and transaction references.

Main contribution

  • Designed a decentralized document-management and accounting prototype for a restaurant/SME scenario.
  • Combined Ethereum blockchain transactions with Solid Pods to separate verifiable payment events from private business documents.
  • Used QR codes to connect physical restaurant tables, bills, and digital interaction flows.
  • Integrated MetaMask and Web3-style payment interaction into the customer-facing workflow.
  • Explored how accounting, ERP, eBill, and blockchain concepts can be connected in a practical software prototype.

Relationship with later research

This thesis anticipates several directions that later became central in my research profile: blockchain systems, experimental prototypes, digital assets, privacy-aware data management, and the connection between technical infrastructure and real organisational workflows.