Skip to main content

Welcome to MotorDesk

MotorDesk is a comprehensive fleet management and electronic billing system designed specifically for automotive businesses. This guide will walk you through setting up your account and creating your first invoice in just a few minutes.
MotorDesk is built with an offline-first architecture, meaning you can continue working even without an internet connection. All data syncs automatically when you’re back online.

Prerequisites

Before you begin, make sure you have:
  • A modern web browser (Chrome, Firefox, Safari, or Edge)
  • Your business tax identification number (RUC)
  • Basic information about your business and first branch location

Installation

1

Clone the repository

Clone the MotorDesk repository to your local machine:
git clone https://github.com/Studios-TKOH/motordesk-app.git
cd motordesk-app
2

Install dependencies

Install the required npm packages:
npm install
The project uses the following key dependencies:
  • React 18.2.0 with Redux Toolkit for state management
  • React Router v7 for navigation
  • Redux Persist for offline data persistence
  • Vite for fast development and building
3

Start the development server

Launch the development server:
npm run dev
The application will be available at http://localhost:5173
4

Build for production (optional)

When you’re ready to deploy:
npm run build
npm run preview

First-Time Setup

1

Create your owner account

When you first access MotorDesk, you’ll see the login screen. Click “Regístrate aquí” (Register here) to create your account.MotorDesk Login ScreenFill in your details:
  • Full Name: Your name as the business owner
  • Email: This will be your login credential
  • Password: Choose a secure password
New registrations are automatically assigned the OWNER role, giving you full access to all system features.
2

Complete the onboarding process

After registration, you’ll be guided through the onboarding wizard to:
  • Configure your business tax information (RUC)
  • Set up your first branch location
  • Configure electronic billing credentials
  • Set up your first invoice series
This information is required for SUNAT-compliant electronic invoicing.
3

Add your first products

Navigate to Products in the sidebar and add items you sell:
{
  nombre: "Aceite Motor 5W-30",
  codigoBarras: "7501234567890",
  precioVenta: 45.00,
  stock: 50,
  categoria: "Lubricantes"
}
Products added here will appear as “FRECUENTES” (frequent items) in the sales screen for quick access.
4

Register your first customer

Go to Customers and add client information:
  • Customer name or business name (Razón Social)
  • Tax ID type (DNI, RUC, etc.)
  • Tax ID number
  • Email (for sending electronic invoices)
  • Phone number
  • Address
This information is used to generate legally compliant invoices.

Creating Your First Invoice

1

Navigate to Sales

Click Sales in the sidebar or navigate to /sales to open the sales module.Sales Screen
2

Select a customer

Use the customer search autocomplete to find and select your customer:
// The autocomplete searches by name or tax ID
<Autocomplete
  placeholder="Escribe para buscar un cliente..."
  searchValue={customerSearch}
  onSearchChange={setCustomerSearch}
  selectedItem={documento.cliente}
  options={filteredCustomers}
/>
The system will auto-fill the customer details on the invoice.
3

Choose document type

Select the appropriate document type:
  • FACTURA ELECTRÓNICA (Electronic Invoice): For registered businesses with RUC
  • BOLETA DE VENTA (Sales Receipt): For individuals with DNI
The series and correlative number are automatically assigned.
4

Add products to cart

Search for products using the search bar at the bottom:
// Products can be searched by name or barcode
const filteredProducts = db.products.filter(
  (p) =>
    p.nombre.toLowerCase().includes(productSearch.toLowerCase()) ||
    p.codigoBarras?.includes(productSearch)
);
You can also click on FRECUENTES (frequent items) buttons at the top for quick access to commonly sold products.
5

Add vehicle information (optional)

For automotive services, add vehicle details:
  • PLACA (License plate)
  • KM ACTUAL (Current mileage)
  • PRÓX. CAMBIO (Next service mileage)
  • OBSERVACIONES (Notes)
These fields appear as inline action buttons in the sales form.
6

Review totals

The system automatically calculates:
  • Subtotal: Sum of all items before tax
  • IGV: 18% tax (SUNAT standard rate)
  • TOTAL: Final amount to charge
// Automatic tax calculation
const totals = {
  subtotal: cart.reduce((sum, item) => 
    sum + (item.precioUnitario * item.cantidad), 0
  ),
  igv: subtotal * 0.18,
  total: subtotal + igv
};
7

Process the sale

Click PROCESAR VENTA to finalize the invoice.The system will:
  1. Generate the electronic invoice
  2. Save it to local storage (offline-first)
  3. Queue it for SUNAT submission when online
  4. Send a copy to the customer’s email
  5. Update inventory levels
Even without internet connection, you can continue processing sales. They’ll be automatically submitted to SUNAT when you’re back online.

What’s Next?

User Roles & Permissions

Learn about different user roles and how to manage team access

Authentication System

Understand how authentication and authorization work in MotorDesk

Managing Fleet

Learn how to track and manage your customer vehicle fleet

Reports & Analytics

Generate business reports and analyze your sales data

Getting Help

If you encounter any issues:
For demo purposes, you can use these test credentials:

Build docs developers (and LLMs) love