Publicado el Dejar un comentario

Sincronizar el POS y WooCommerce con Python

Este es un ejemplo de cómo sincronizar una base de datos local con woocommerce:

Subida: productos, precios, estatus de pedidos

Bajada: Pedidos

import pyodbc
from woocommerce import API

# --- CONFIGURACIÓN DE CONEXIÓN ---
wcapi = API(
    url="https://tu-tienda.com",
    consumer_key="ck_xxxx",
    consumer_secret="cs_xxxx",
    version="wc/v3",
    timeout=120
)

# Conexión a SQL Server 2012
conn_str = "Driver={SQL Server};Server=localhost\MYBUSINESSPOS;Database=v8_demo;Trusted_Connection=yes;"

def ejecutar_sincronizacion_batch():
    try:
        db = pyodbc.connect(conn_str)
        cursor = db.cursor()

        # --- 1. ACTUALIZAR STOCK (PRODS -> WEB) ---
        # Solo productos vinculados (wc_id no nulo)
        cursor.execute("SELECT wc_id, existencia, articulo FROM prods WHERE wc_id IS NOT NULL")
        productos = cursor.fetchall()

        if productos:
            for i in range(0, len(productos), 100):
                lote = productos[i:i+100]
                # Formato Batch para WooCommerce
                items_stock = [
                    {
                        "id": p.wc_id,
                        "manage_stock": True,
                        "stock_quantity": int(p.existencia) if p.existencia >= 0 else 0
                    } for p in lote
                ]
               
                payload = {"update": items_stock}
                wcapi.post("products/batch", payload)
                print(f"Inventario: Procesados {len(lote)} artículos.")

        # --- 2. ACTUALIZAR ESTATUS (PEDIDOS CO -> COMPLETED) ---
        # Buscamos ventas que ya pasaron de PE a CO
        cursor.execute("SELECT wc_order_id, Venta FROM pedidos WHERE wc_order_id IS NOT NULL AND estatus = 'CO'")
        ventas_finalizadas = cursor.fetchall()

        if ventas_finalizadas:
            for i in range(0, len(ventas_finalizadas), 100):
                lote_v = ventas_finalizadas[i:i+100]
                batch_orders = {
                    "update": [{"id": v.wc_order_id, "status": "completed"} for v in lote_v]
                }
               
                wcapi.post("orders/batch", batch_orders)
               
                # Opcional: Limpiar wc_order_id o marcar como sincronizado en SQL
                # para evitar procesarlos en la siguiente vuelta
                for v in lote_v:
                    cursor.execute("UPDATE pedidos SET wc_order_id = NULL WHERE Venta = ?", (v.Venta,))
               
            db.commit()
            print(f"Estatus: {len(ventas_finalizadas)} órdenes marcadas como completadas.")

    except Exception as e:
        print(f"Error en sincronización: {e}")
    finally:
        if 'db' in locals(): db.close()

if __name__ == "__main__":
    ejecutar_sincronizacion_batch()
Continúa leyendo Sincronizar el POS y WooCommerce con Python
Publicado el 2 comentarios

Contamos con Sistema de Apartado: Cómo funciona en MyBusiness POS

 

En la mayoría de los negocios manejan la modalidad de la venta mediante sistema de apartado, donde es posible retener al cliente y asegura que este liquide su compra antes de que obtenga su producto. MyBusiness POS tiene una función que permite los pagos parciales de la mercancía que se vende mediante el sistema de Apartado.


Para las situaciones en las que es necesario mantener el control de las existencias y de los productos pendientes por entregar debido a los pedidos, existe llama “Incluir apartados por pedido en disponibilidad”

En términos generales, para sus clientes estas son las ventajas y desventajas del sistema de apartado:

Ante la crisis económica que ha afectado el poder adquisitivo y el crédito de millones de familias, el sistema de apartados, conocido en inglés como layaway, ha vuelto a ser un recurso popular.

“Esto puede ser una buena idea, pero debe de fijarse bien en los términos del sistema de apartados porque tiene ventajas y desventajas”, señala Connie Costello, educadora de asuntos del consumidor de Extensión Cooperativa de la Universidad de California. Ella explica los puntos a favor y en contra:

Entre las ventajas están:

  • Usted podrá aprovechar las ofertas de la tienda e ir pagando poco a poco su mercancía.Podrá pagar por la mercancía que puso en apartado en determinado plazo, y no tiene que hacer la compra con cargo a su tarjeta de crédito; así se evita el pago de intereses.
  • Puede apartar sus regalos con anticipación sin preocupación de que se agote el juguete o aparato electrónico de mayor demanda.
  • También tendrá un lugar en donde almacenarlos sin necesidad de esconderlo de sus seres queridos.

Pero también debe tener en cuenta las desventajas del sistema de apartados:

  • Tendrá que pagar una cuota que por lo general es de 5 dólares; y si usted cambia de opinión, hay cargos por cancelación que pueden variar entre 10 y 25 dólares.
  • Si no recoge su regalo a tiempo o deja de hacer los pagos de acuerdo a lo establecido podría correr en riesgo de perder el dinero ya pagado.

El sistema de apartados se inició en la época de la Gran Depresión, la crisis más larga y profunda en el país y el mundo que tuvo lugar de 1929 hasta principios de la década de los 40. El layaway se estableció para ayudar, especialmente a las personas de bajos ingresos sin acceso al crédito; sin embargo en la actualidad, las tiendas lo promocionan como un sistema práctico de compras para la clase media.

Costello menciona los aspectos a los que hay que poner atención antes de firmar un contrato de sistema de apartado:

  • Examine bien todos los términos del acuerdo. El contrato debe contener una descripción de la mercancía, el monto del pago inicial, precio total, fecha de vencimiento de cada pago, plazo de pagos, fecha del último pago y condiciones de devolución.
  • Lea la letra pequeñita antes de firmar el contrato.
  • Calcule exactamente cuanto pagará en total por la mercancía.
  • Guarde todos sus recibos de pago.
  • Pregunte de antemano qué cargos podría incurrir si no paga a tiempo o no puede realizar un pago. Pregunta cuánto le devolverán de la suma que ya ha pagado.
  • No dé su número de Seguro Social ni de su tarjeta de crédito; estos son datos que el vendedor no necesita.
  • Pregunte qué pasaría con su dinero en caso de una cancelación.
  • Averigüe cuál es la política de devolución de la mercancía puesta en apartado; puede ser que la tienda tenga normas de devolución diferentes para este programa.
  • Compare el costo total de la mercancía si la compra a través del sistema de apartados y con otras opciones de pago. Por ejemplo, cuál sería el costo total si lo compra con una tarjeta de crédito, y puede pagar el precio total cuando le llegue la cuenta.
  • Guarde todos sus recibos de pago.

Siempre que firme un contrato, debe investigar bien los términos; le tomará un poquito más de tiempo pero se evitará sorpresas desagradables, cargos onerosos o contratiempos que le impedirán disfrutar sus fiestas y la compañía de sus seres queridos.

Fuente: http://ucanr.edu/sites/Spanish/Noticias/?uid=4894&ds=199

MyBusinesspos_Sistema_Apartado

Publicado el Dejar un comentario

SACMEX Whatsapp

Contactar a SACMEX directo WhtasApp

 

 

Publicado el Dejar un comentario

CAMBIO DE ALMACEN (PRODUCTO)

Se requeria que se cambiara de almacen un producto especifico y se diseño esta forma para realizarlo

1.-Muestra la malla de los productos.
2.-Muestra la malla de las existencias en almacén
3.-Cambio de Almacén

Publicado el Dejar un comentario

Crear Barra de Menu en MyBusinessPOS (2006,2008,2010,2011,2012)

Mediante este pequeño tutorial aprenderas a crear una Barra de Menu y realizar el llamado de una forma que se ha diseñado.

Mas Info …..