Skip to main content
The Compago Self-Order & Kiosk plugin extends Odoo’s self-service POS functionality by integrating Compago payment terminals for fully autonomous customer transactions. Customers can browse products, place orders, and complete card payments without any staff intervention, making it ideal for self-service kiosks, quick-service restaurants, and unattended retail environments.

What You Can Do

With the Self-Order & Kiosk plugin, you can:
  • Fully Autonomous Payments: Customers complete the entire transaction from product selection to payment without staff assistance
  • Card-Present Self-Service: Accept chip, swipe, and contactless card payments through Compago terminals in kiosk mode
  • Seamless Customer Experience: Integrated payment flow within the self-order interface
  • Automatic Payment Validation: Real-time payment status monitoring and order confirmation
  • Timeout Protection: 90-second inactivity timeout with automatic payment cancellation
  • Unattended Operations: Perfect for 24/7 kiosks and self-service scenarios

Difference Between Kiosk and Normal POS

Compago offers two distinct Odoo POS plugins designed for different business scenarios:
FeaturePoint of Sale (Normal POS)Self-Order & Kiosk
Use CaseStaff-operated checkoutCustomer-operated self-service
InteractionCashier processes the saleCustomer completes entire transaction
Payment FlowStaff initiates payment on terminalCustomer initiates and completes payment
SupervisionStaff present during transactionFully unattended operation
Module Dependencypos_compagopos_compago + pos_self_order + pos_self_order_compago
Best ForRetail stores, restaurants with counter serviceQuick-service restaurants, cafeterias, self-service kiosks
Both plugins can coexist in the same Odoo instance. You can configure different POS systems for attended and unattended scenarios using the appropriate plugin for each use case.

Use Cases

This plugin is ideal for:
  • Quick-service restaurants with ordering kiosks
  • University and corporate cafeterias with self-checkout
  • Movie theaters and entertainment venues
  • Fast-food chains with unattended ordering stations
  • Retail stores with self-service checkout lanes
  • 24/7 convenience stores with minimal staffing
  • Vending machine-style retail environments

How It Works

Here’s the complete self-service payment flow:
  1. Customer Browses: Customer uses the self-order interface to browse products
  2. Add to Cart: Customer selects items and adds them to the cart
  3. Review Order: Customer reviews the order total and confirms
  4. Select Payment: Customer chooses Compago as the payment method
  5. Payment Intent Created: System creates a payment intent and activates the terminal
  6. Terminal Ready: Compago terminal displays the transaction amount
  7. Customer Pays: Customer presents their card (chip, swipe, or contactless)
  8. Payment Processing: Terminal processes the payment autonomously
  9. Status Monitoring: System polls payment status every 3 seconds
  10. Automatic Confirmation: On success, order is marked as paid and confirmed
  11. Receipt Display: Customer sees confirmation and can print receipt (if available)
The system includes a 90-second inactivity timeout. If the customer doesn’t complete the payment within this window, the payment intent is automatically cancelled to prevent abandoned transactions.

Installation

Prerequisites

Before installing the Self-Order & Kiosk plugin, ensure you have:
  • Point of Sale plugin (pos_compago) already installed and configured
  • The Self-Order module from Odoo enabled
  • An active Compago account with API access
  • At least one Compago physical terminal
  • Your Odoo instance configured in MXN currency
The Self-Order & Kiosk plugin depends on the Point of Sale plugin (pos_compago). You must install and configure the standard POS plugin first before proceeding with the Kiosk installation.

Step 1: Install the Point of Sale Plugin

If you haven’t already installed the base Compago POS plugin:
  1. Follow the complete installation guide in Point of Sale (POS)
  2. Verify the plugin is activated and configured with your API key
  3. Test that terminal payments work in a regular POS session

Step 2: Enable Self-Order Module in Odoo

The Self-Order & Kiosk plugin extends Odoo’s native self-order functionality:
  1. Open your Odoo instance
  2. Go to Apps (enable Developer Mode if needed)
  3. Search for “Self-Order” or “pos_self_order”
  4. Click Install on the POS Self-Order module
  5. Wait for the installation to complete
The Self-Order module is an official Odoo module available in Odoo 16.0+ for retail and restaurant POS scenarios.

Step 3: Download the Kiosk Plugin

Visit the Odoo App Store and download the Compago Self-Order & Kiosk Integration: Download link: https://apps.odoo.com/apps/modules/18.0/pos_self_order_compago
You must have an Odoo.sh instance to install custom apps. Self-hosted or community editions may not support third-party POS integrations.

Step 4: Install the Plugin in Odoo.sh

  1. Log in to your Odoo.sh dashboard
  2. Navigate to your instance
  3. Upload and install the pos_self_order_compago module
  4. Restart your instance if required

Step 5: Activate the Plugin

Once the module is uploaded to your Odoo.sh instance:
  1. Open your Odoo instance
  2. Go to Apps (you may need to enable Developer Mode)
  3. Remove the “Apps” filter to show all modules
  4. Search for “Compago” or “Kiosk” or “Self Order”
  5. Click Activate on the Compago – Self-Order/Kiosk module
If you don’t see the module, click Update Apps List to refresh the module catalog.

Configuration

Step 1: Ensure Prerequisites

Before configuring the kiosk, verify:
  • The Point of Sale app is installed
  • The Self-Order module is installed
  • The Compago POS plugin (pos_compago) is active and configured
  • Your company is configured in MXN currency
  • You have at least one bank journal configured in MXN
  • You have a Compago physical terminal or terminal access

Step 2: Create or Configure a Self-Order POS

To enable self-order functionality:
  1. Navigate to Point of SaleConfigurationSettings
  2. Create a new POS or select an existing one
  3. Enable Self-Order Mode
  4. Select Kiosk as the self-order mode (not “Mobile”)
  5. Ensure the POS is configured to use MXN currency
  6. Save the settings
Odoo offers two self-order modes: Mobile (for customer phones) and Kiosk (for fixed terminals). The Compago plugin requires Kiosk mode for terminal integration.

Step 3: Configure Compago Payment Method

If you haven’t already created a Compago payment method during the base POS plugin setup:
  1. Navigate to Point of SaleConfigurationPayment Methods
  2. Click New to create a new payment method
  3. Configure the following fields: Basic Information:
    • Name: Enter a descriptive name (e.g., Compago Kiosk, Self-Service Payment)
    Journal:
    • Journal: Select a Bank journal from the dropdown
    • Verify the journal is configured in MXN currency
    Integration Type:
    • Use a Payment Terminal: Enable this option
    • Integrate with: Select Compago from the dropdown
  4. API Key: Paste your Compago API key
  5. Environment: Select Production (or Demo for testing)
  6. Save the payment method

Step 4: Add Compago to Your Kiosk POS

  1. Navigate to Point of SaleConfigurationSettings
  2. Select your kiosk POS
  3. Scroll to the Payments section
  4. In the Payment Methods field, add the Compago payment method
  5. Save the settings
Ensure the Compago payment method is added to the correct POS. If you have multiple POS systems (e.g., one for attended checkout and one for kiosk), verify you’re configuring the kiosk POS.

Step 5: Configure Kiosk Display (Optional)

For optimal customer experience:
  1. Configure display settings for the self-order interface
  2. Set up product images and descriptions for customer-facing display
  3. Configure receipt printing (if your kiosk has a customer-facing printer)
  4. Test the entire customer flow on the actual kiosk hardware

Using the Self-Order Kiosk

Once configured, the customer experience is fully autonomous:

Customer Flow

  1. Customer approaches the self-service kiosk
  2. Customer browses products and adds items to cart
  3. Customer reviews the order and total
  4. Customer clicks Pay or Checkout
  5. Customer selects Compago as the payment method
  6. Compago terminal activates and displays the amount
  7. Customer inserts, taps, or swipes their card
  8. Terminal processes the payment
  9. Customer sees confirmation on screen
  10. Order is automatically sent to kitchen/fulfillment (if configured)
  11. Customer can print receipt (if printer is available)

Payment Monitoring

The system automatically monitors payment status:
  • Polling Interval: Checks payment status every 3 seconds
  • Timeout: 90 seconds of inactivity triggers automatic cancellation
  • Automatic Confirmation: Successful payments immediately mark the order as paid
  • Failure Handling: Failed or expired payments notify the customer and offer retry
All monitoring happens in the background without customer intervention.

Testing the Integration

To verify the kiosk integration is working:
  1. Open the self-order interface (access the kiosk URL or use the kiosk device)
  2. Add a test product to the cart
  3. Proceed to checkout
  4. Select Compago as the payment method
  5. Verify the terminal activates with the correct amount
  6. Use a test card (demo environment) or real card (production environment)
  7. Complete the payment on the terminal
  8. Confirm the order is automatically marked as paid
  9. Verify the order appears in your POS backend
If testing in production, use a small amount and a real payment method. The transaction will be processed and charged.

Troubleshooting

Terminal doesn’t activate in kiosk mode

  • Verify the base POS plugin is configured correctly and terminal works in attended POS mode
  • Ensure your API key is correct and active
  • Check that the POS is configured in Kiosk mode (not Mobile)
  • Verify the terminal is powered on, connected, and linked to your Compago account

Payment gets stuck in “pending” state

  • Check your network connection between Odoo and Compago’s API
  • Verify the terminal is online and responsive
  • Ensure there are no firewall rules blocking API communication
  • Check Odoo logs for specific error messages

Payment times out before customer completes

  • The default timeout is 90 seconds for security
  • Ensure the terminal is easily accessible and clearly marked
  • Provide on-screen instructions to guide customers
  • Consider increasing terminal visibility or adding directional signage

Order not marked as paid after successful payment

  • Verify the payment webhook/callback is configured correctly
  • Check that the POS session is open and active
  • Review Odoo logs for payment confirmation errors
  • Ensure the journal and currency settings are correct

”Currency error” appears

  • Ensure your company is configured in MXN
  • Verify the selected journal is in MXN currency
  • Check that the POS is configured to use MXN
  • Ensure all products are priced in MXN

Payment Security

The Self-Order & Kiosk plugin includes several security features:
  • Payment Intent Isolation: Each payment creates a unique, single-use payment intent
  • Timeout Protection: Abandoned payments are automatically cancelled after 90 seconds
  • Status Validation: Payment status is verified server-side before order confirmation
  • Amount Verification: Transaction amounts are validated against order totals
  • Cancellation Support: Customers can cancel in-progress payments
All card data is processed directly by Compago terminals using PCI-compliant infrastructure. No sensitive payment information passes through your Odoo instance.

Terminal Hardware

The Self-Order & Kiosk integration works with Compago-provided physical payment terminals in self-service configurations:
  • Kiosk-Mounted Terminals: Terminals integrated into kiosk enclosures
  • Counter-Top Terminals: Terminals placed on customer-accessible surfaces
  • Payment Totems: Standalone payment stations for unattended environments
All terminals support:
  • Chip & PIN (EMV)
  • Contactless (NFC)
  • Mobile Wallets (Apple Pay, Google Pay)
Contact Compago to discuss kiosk-specific terminal configurations and hardware recommendations.

Support

If you encounter issues with the Self-Order & Kiosk plugin:
  • Verify the base Point of Sale plugin is working correctly in attended mode
  • Check your API key is valid in the Compago Dashboard
  • Ensure the POS is configured in Kiosk mode
  • Verify the terminal is online and accessible to customers
  • Review Odoo logs for detailed error messages
  • Test the payment flow manually to isolate issues
  • Contact Compago support at [email protected] for assistance with terminal or payment processing issues