SCO Autolavados is built for the Venezuelan financial reality: every transaction can be recorded in US Dollars, Bolívares, or a combination of both. The platform uses a two-step payment-then-sale workflow. A payment record is registered first and goes through an optional admin approval gate before a final, immutable sales invoice is generated. This separation allows admins to verify that funds actually landed in the bank account before the transaction is considered complete.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Luisangelebp/SCO_Autolavados/llms.txt
Use this file to discover all available pages before exploring further.
Payment Methods
The following payment methods are supported:| Method | Notes |
|---|---|
Pago Movil | Venezuelan mobile payment system — balance recorded in Bs |
Efectivo | Cash — can be USD or Bs depending on currency received |
Binance | Crypto — mountBS must be 0 for Binance payments |
Débito / Punto de Venta | Debit card — balance recorded in Bs |
Transferencia | Bank transfer |
Zelle | USD transfer — balance recorded in USD |
Listing Payments
Retrieve all payment records, ordered by date descending. Each record includes the nestedcustomer object.
Payment objects with customer details. This endpoint requires a valid JWT but is not restricted to Admin-only — any authenticated user can access it.
Step 1 — Register a Payment
Create a payment record linked to the customer. For cash payments (Efectivo), a reference is not required. For all other methods, a reference number (bank confirmation, transaction ID, etc.) is mandatory.
Payment object. Payments are created with approved: true when registered through the POS (the money is considered immediately received at the counter).
Step 2 — Approve the Payment (Legacy Flow)
For payment workflows where the admin needs to verify the transfer before approval (e.g., bank transfers checked against a statement), use the approval endpoint:- Confirms the payment is not already approved — returns
400 "El pago ya se encuentra aprobado"if it is. - Sets
approved: trueon the payment record. - Adds
mountUSDandmountBSto the correspondingAutoLavado.balanceUsdandAutoLavado.balanceBsfields.
Step 3 — Record the Sale
After payment,POST /api/sales creates the immutable sales invoice. This links the payment to the service orders and/or product items that were sold, records the exchange rate at the time of sale, and decrements inventory for any product line items.
details must include either serviceOrderId (for wash services) or itemId (for products sold at the counter). Including itemId triggers automatic inventory decrement for the sold quantity.
The
tazaUsd field captures the exchange rate at the time of sale (Bs per USD). This snapshot is stored on the Sales record and is never updated retroactively, ensuring historical accuracy even as the exchange rate fluctuates.Complete Business Flow
The following is the full happy-path flow from vehicle arrival to invoice generation:Service Order Created
Receptionist creates the service order when the vehicle arrives at the counter.
Service Performed and Finalized
Admin assigns laundrer and eventually marks the order as
FINALIZADO.Customer Orders (Web Portal)
Customers can initiate their own purchase orders directly from the web app without going through the reception counter. This flow supports both service bookings and product purchases.Listing Orders
Admin — all orders:OrderCustomers record in the system with full details (customer info, payment, and line items).
Customer — own orders only:
CUSTOMER role.
Create an Order (CUSTOMER role required)
itemId or serviceId and a cant (quantity). carId is required when any detail contains a serviceId. Unit prices are resolved server-side from the item/service catalogue — do not send UPriceUsd in the request body. The order is created with status: "PENDING" and inventory is decremented immediately at order creation. If insufficient stock exists, the entire transaction is rolled back with an error.
Pay for an Order
Payment record is created and linked to the order via paymentId. The order’s status remains PENDING at this stage — it must still be approved by an Admin.
Approve an Order (ADMIN only)
Once the admin verifies the payment and confirms the order:Sales invoice record, updates the order status to APPROVED, and finalizes the transaction. The order must have a paymentId set and must be in PENDING status — attempting to approve an already-approved order returns a 400 error.
Reject an Order (ADMIN only)
If the payment is not valid or the order cannot be fulfilled:CANCELLED, and the order status is set to REJECTED. The order must be in PENDING status to be rejected.
Expenses
Expenses record financial outflows from the business. They deduct the amount fromAutoLavado balance and optionally restock inventory:
itemId and quantity are provided, the expense doubles as a restocking operation — the quantity is added to that item’s inventory automatically.
Payments API Reference
Endpoint reference for payment registration and approval.
Sales API Reference
Endpoint reference for sales invoice creation and history retrieval.