Ir al contenido

FISCALISTO / API

Listas de precios

Precios distintos por cliente: listas de mayoreo, distribuidor o promociones, con escalones por cantidad y por caja, y grupos de clientes con su lista, descuento, crédito y pedido mínimo.

Una lista de precios dice cuánto paga cierto tipo de cliente. Parte del precio del catálogo (o de otra lista), lo baja o lo sube un porcentaje y lo redondea; encima, cada producto puede tener su propio precio o un descuento, por presentación (una caja de 12) y desde cierta cantidad, que son sus escalones de mayoreo. Un grupo de clientes junta a los que pagan igual: su lista, su descuento en cada concepto, sus días de crédito y su pedido mínimo. Son las mismas de Facturas › Listas de precios en la app.

Qué lista tiene cada cliente: la suya (price_list del cliente), si no la de su grupo, si no la que tiene is_default, y si no hay ninguna, el precio del catálogo. Una lista fuera de sus fechas (starts_on, ends_on) no cuenta. El descuento del cliente, si no el de su grupo, va como descuento de cada concepto en el CFDI.

Crear una lista

curl https://api.fiscalisto.com/v1/price_lists \
  -H "Authorization: Bearer $FISCALISTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Mayoreo", "adjust_percent": -10, "round_to": 0.5, "items": [{ "product": "prd_OufpKqnrvx9p1", "min_quantity": 24, "unit_price": 80 }] }'

adjust_percent mueve el precio del que parte (−10 lo baja 10 %). Cada renglón de items lleva unit_price (su precio por unidad sin IVA) o discount_percent (un descuento sobre el precio de la lista), no los dos. Varios renglones del mismo producto con distinto min_quantity son sus escalones: «24 o más a $80», «100 o más a $75». Con unit (una presentación del producto, como una caja) el precio es por caja; sin precio propio de la caja, la caja vale lo que sus piezas, y 2 cajas de 12 ya alcanzan el escalón de «24 o más». Al mandar items en POST /v1/price_lists/{id} reemplaza todos los que tenía.

Grupos de clientes

curl https://api.fiscalisto.com/v1/customer_groups \
  -H "Authorization: Bearer $FISCALISTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Mayoristas", "price_list": "prl_OufpKqnrvx9p1", "discount_percent": 3, "credit_days": 30, "min_order": 5000 }'

Un cliente entra a un grupo, o toma su propia lista o descuento, con POST /v1/customers/{id}:

curl https://api.fiscalisto.com/v1/customers/cus_OufpKqnrvx9p1 \
  -H "Authorization: Bearer $FISCALISTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "group": "cgr_OufpKqnrvx9p1" }'

price_list y discount_percent del cliente ganan sobre los de su grupo; en null vuelve a los del grupo. min_order es el pedido mínimo antes de IVA para pedir desde el Portal del cliente, y portal_ordering: false no les deja pedir desde ahí.

Lo que paga un cliente

curl https://api.fiscalisto.com/v1/prices \
  -H "Authorization: Bearer $FISCALISTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "customer": "cus_OufpKqnrvx9p1", "items": [{ "product": "prd_OufpKqnrvx9p1", "quantity": 10 }] }'

Devuelve, por producto, su unit_price sin IVA a esa cantidad, el catalog_price, el discount_percent del cliente y next_step: desde cuántas baja y a cuánto. No guarda nada: úselo para mostrar precios en su tienda o para llenar unit_price y discount de una factura o un pedido.

Pedidos desde el portal

Un producto con portal_visible: true (POST /v1/products/{id}) se vende en el Portal del cliente: sus clientes lo piden desde ahí a sus precios, con min_order_qty y order_step (de 12 en 12), y el pedido llega a Pedidos en borrador, para que usted lo confirme.