Mejoras de sesion: estabilizacion, IA, Nexus Yonke y marketplace B2B
- F0 blindaje: Redis/Celery, pg_hba sin trust LAN, secretos a env 600, backups, webhook auth, jobs muertos - F1 caja: bugs POS, reembolsos al corte, apartados, CFDI, topes de descuento en cotizacion/apartado - F2/F7 IA de catalogo: autocategorizacion, dedup de SKUs con embeddings, OCR de facturas, descripciones, claves SAT, limpieza de fitment - F3 IA en el flujo: vision Yonke, preguntas MeLi, venta cruzada, anomalias, sinonimos, busqueda semantica (rerank/embeddings) - F4/F8 escala y cartera: /metrics+Prometheus+Grafana, pool, score de credito, churn, metricas multi-tenant - Nexus Yonke (M1-M6): modelo de datos 1-de-1, alta por donador, vitrina publica, MeLi usado, consignacion, garantia por dias, reportes, etiquetas - Marketplace B2B entre yonkes (catalogo + pedidos cross-tenant) - Seguridad: auth en /api/admin/* (35 endpoints), alertas por tenant - Migraciones v4.27/v4.28; timers expire-demos y rollup-metrics
This commit is contained in:
@@ -10,11 +10,14 @@ On receive, automatically:
|
||||
|
||||
from decimal import Decimal, ROUND_HALF_UP
|
||||
from datetime import date
|
||||
import logging
|
||||
|
||||
from services.inventory_engine import record_purchase
|
||||
from services.accounting_engine import record_purchase_entry
|
||||
from services.audit import log_action
|
||||
|
||||
logger = logging.getLogger('pos')
|
||||
|
||||
TWO = Decimal('0.01')
|
||||
|
||||
|
||||
@@ -320,8 +323,9 @@ def receive_po(conn, po_id, received_items, supplier_invoice=None, notes=None):
|
||||
'total': float(total_mxn),
|
||||
'supplier_name': _get_supplier_name(conn, po_supplier_id),
|
||||
})
|
||||
except Exception:
|
||||
pass # Accounting errors never block receiving
|
||||
except Exception as acc_err:
|
||||
# Accounting errors never block receiving, but must be logged
|
||||
logger.error(f'Accounting entry for received PO #{po_id} failed: {acc_err}')
|
||||
|
||||
log_action(conn, 'PO_RECEIVE', 'purchase_order', po_id,
|
||||
new_value={'received_qty': received_total, 'status': new_status})
|
||||
|
||||
Reference in New Issue
Block a user