---
title: "Crear ítem"
method: POST
path: "/items"
tags: ["Ítems"]
---

# Crear ítem

`POST /items`

Endpoint que permite crear un producto o servicio

## Request body

- union
  - object
    - `name` string, required — Nombre del producto o servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del producto o servicio. Longitud máxima permitida: 500.
    - `reference` string — Referencia del producto o servicio. Longitud máxima permitida: 45.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `category` object — Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio. Si no se envía este atributo el producto o servicio queda asociado a la categoría de Ventas.
      - `id` string — Identificador de la categoría.
    - `inventory` object — Indica los atributos del inventario del producto. Si es un servicio este atributo se debe omitir. Este objeto debe contener los siguientes atributos: unit (string, obligatorio): Unidad de medida del producto. Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable; unitCost (number, obligatorio): Costo unitario del producto. initialQuantity (number, obligatorio): Cantidad inicial del producto. Si se desea distribuir el producto en bodegas se debe adicionar un array con objetos warehouse, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: id (integer, obligatorio) : Identificador de la bodega; initialQuantity (integer, obligatorio) : Cantidad inicial del producto en la bodega, minQuantity (integer): Cantidad mínima configurada para el producto en la bodega, maxQuantity (integer): Cantidad máxima configurada para el producto en la bodega.
      - `unit` string — Unidad de medida del producto. Para poder ver la lista completa por versiones puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-generic.xlsx).
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
      - `warehouses` object[] — Lista de bodegas a las que está asociado el producto.
        - `id` string — Identificador de la bodega
        - `initialQuantity` integer — Cantidad inicial del producto en la bodega
        - `minQuantity` integer — Cantidad mínima del producto en la bodega.
        - `maxQuantity` integer — Cantidad máxima del producto en la bodega.
    - `tax` union — Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
      - string — id del impuesto a asociar
      - object[] — Lista de impuestos asociados al producto
        - `id` string — id del impuesto a asociar
    - `type` 'product' | 'service' | 'variantParent' | 'kit' — Indica el tipo de producto. Las opciones posibles son product, service, variantParent y kit
    - `customFields` object[] — Arreglo con objetos que representa los campos adicionales del ítem. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del campo adicional. value (string) valor a asignar en el campo adicional para el item.
      - `id` string — Identificador del campo adocional.
      - `value` string — Valor del campo adicional en el item.
    - `subitems` object[] — Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
      - `item` object
        - `id` string — Identificador del item.
      - `quantity` integer — Cantidad del item en el combo.
    - `kitWarehouse` object — Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
      - `id` string — Identificador de la bodega.
    - `itemCategory` object — Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
      - `id` string — Identificador de la categoría de item a asociar
    - `variantAttributes` object[] — Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del item es variantParent. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del atributo variante. options(array of objects) Array de objetos con los ids de las opciones a agregar en el item.
      - `id` string — Identificador de la variante.
      - `options` object[]
        - `id` string — Identificador de la opción de la variante.
    - `accounting` object — Objeto que contiene las cuentas de inventario y compras inventariables de los items inventariables. Las opciones disponibles son: inventory e inventariablePurchase. Se puede enviar solo el id de la cuenta contable o como objeto
      - `inventory` union
        - string — Identificador de la cuenta de inventario.
        - object
          - `id` string — Identificador de la cuenta de inventario.
      - `inventariablePurchase` union
        - string — Identificador de la cuenta de compras inventariables.
        - object
          - `id` string — Identificador de la cuenta de compras inventariables.
  - object
    - `name` string, required — Nombre del producto o servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del producto o servicio. Longitud máxima permitida: 500.
    - `reference` string — Referencia del producto o servicio. Longitud máxima permitida: 45.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `productKey` string — Código del producto o servicio. Para poder ver la lista de los codigos puedes hacer [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/productkeys-inventory/productkey-col.xlsx)
    - `category` object — Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio. Si no se envía este atributo el producto o servicio queda asociado a la categoría de Ventas.
      - `id` string — Identificador de la categoría.
    - `inventory` object — Indica los atributos del inventario del producto. Si es un servicio este atributo se debe omitir. Este objeto debe contener los siguientes atributos: `unit` (string, obligatorio): Unidad de medida del producto. Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable; `unitCost` (number, obligatorio): Costo unitario del producto. `initialQuantity` (number, obligatorio): Cantidad inicial del producto. Si se desea distribuir el producto en bodegas se debe adicionar un array con objetos `warehouse`, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: `id` (integer, obligatorio) : Identificador de la bodega; `initialQuantity` (integer, obligatorio) : Cantidad inicial del producto en la bodega, `minQuantity` (integer): Cantidad mínima configurada para el producto en la bodega, `maxQuantity` (integer): Cantidad máxima configurada para el producto en la bodega.
      - `unit` 'unit' | 'centimeter' | 'meter' | 'inch' | 'centimeterSquared' | 'meterSquared' | 'inchSquared' | 'mililiter' | 'liter' | 'gallon' | 'gram' | 'kilogram' | 'service' | 'par' | 'cubicMeterNet' | 'cubicMeter' | 'hour' | 'MIN' | 'DAY' | 'box' | 'drum' — Unidad de medida del producto. Para poder ver la lista completa puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-col.xlsx).
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
      - `warehouses` object[] — Lista de bodegas a las que está asociado el producto.
        - `id` string — Identificador de la bodega
        - `initialQuantity` integer — Cantidad inicial del producto en la bodega
        - `minQuantity` integer — Cantidad mínima del producto en la bodega.
        - `maxQuantity` integer — Cantidad máxima del producto en la bodega.
    - `tax` union — Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
      - string — id del impuesto a asociar
      - object[] — Lista de impuestos asociados al producto
        - `id` string — id del impuesto a asociar
    - `type` 'product' | 'service' | 'variantParent' | 'kit' — Indica el tipo de producto. Las opciones posibles son product, service, variantParent y kit
    - `customFields` object[] — Arreglo con objetos que representa los campos adicionales del ítem. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del campo adicional. value (string) valor a asignar en el campo adicional para el item.
      - `id` string — Identificador del campo adocional.
      - `value` string — Valor del campo adicional en el item.
    - `subitems` object[] — Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
      - `item` object
        - `id` string — Identificador del item.
      - `quantity` integer — Cantidad del item en el combo.
    - `kitWarehouse` object — Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
      - `id` string — Identificador de la bodega.
    - `itemCategory` object — Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
      - `id` string — Identificador de la categoría de item a asociar
    - `variantAttributes` object[] — Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del item es variantParent. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del atributo variante. options(array of objects) Array de objetos con los ids de las opciones a agregar en el item.
      - `id` string — Identificador de la variante.
      - `options` object[]
        - `id` string — Identificador de la opción de la variante.
    - `accounting` object — Objeto que contiene las cuentas de inventario y compras inventariables de los items inventariables. Las opciones disponibles son: inventory e inventariablePurchase. Se puede enviar solo el id de la cuenta contable o como objeto
      - `inventory` union
        - string — Identificador de la cuenta de inventario.
        - object
          - `id` string — Identificador de la cuenta de inventario.
      - `inventariablePurchase` union
        - string — Identificador de la cuenta de compras inventariables.
        - object
          - `id` string — Identificador de la cuenta de compras inventariables.
    - `tariffHeading` string — Cadena de 10 caracteres que indica la partida arancelaria de un ítem. Aplica para facturas electrónicas de exportación.
    - `brand` string — Cadena de caracteres que indica la marca de un ítem. Aplica para facturas electrónicas de exportación.
    - `model` string — Cadena de caracteres que indica el modelo de un ítem. Aplica para facturas electrónicas de exportación.
  - object
    - `name` string, required — Nombre del producto o servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del producto o servicio. Longitud máxima permitida: 500.
    - `reference` object — Objeto que indica la referencia del producto.
      - `reference` string — Indica el código de referencia establecido para el producto.
      - `type` string — Indica el tipo de referencia del producto.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `category` object — Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio. Si no se envía este atributo el producto o servicio queda asociado a la categoría de Ventas.
      - `id` string — Identificador de la categoría.
    - `inventory` object — Indica los atributos del inventario del producto. Si es un servicio este atributo se debe omitir. Este objeto debe contener los siguientes atributos: `unit` (string, obligatorio): Unidad de medida del producto. Los valores posibles son: unit, second, minute, hour, day, centimeter, milimeter, meter, inch, meterSquared, meterCubic, liter, gallon, gram, kilogram, ton, service, technicalServices, anotherTypeOfService ;`unitCost` (number, obligatorio): Costo unitario del producto. `initialQuantity` (number, obligatorio): Cantidad inicial del producto. Si se desea distribuir el producto en bodegas se debe adicionar un array con objetos `warehouse`, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: `id` (integer, obligatorio) : Identificador de la bodega; `initialQuantity` (integer, obligatorio) : Cantidad inicial del producto en la bodega, `minQuantity` (integer): Cantidad mínima configurada para el producto en la bodega, `maxQuantity` (integer): Cantidad máxima configurada para el producto en la bodega.
      - `unit` 'unit' | 'second' | 'minute' | 'hour' | 'day' | 'centimeter' | 'milimeter' | 'meter' | 'inch' | 'meterSquared' | 'meterCubic' | 'liter' | 'gallon' | 'gram' | 'kilogram' | 'ton' | 'service' | 'technicalServices' | 'anotherTypeOfService' — Unidad de medida del producto. Para poder ver la lista completa puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-cri.xlsx)
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
      - `warehouses` object[] — Lista de bodegas a las que está asociado el producto.
        - `id` string — Identificador de la bodega
        - `initialQuantity` integer — Cantidad inicial del producto en la bodega
        - `minQuantity` integer — Cantidad mínima del producto en la bodega.
        - `maxQuantity` integer — Cantidad máxima del producto en la bodega.
    - `tax` union — Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
      - string — id del impuesto a asociar
      - object[] — Lista de impuestos asociados al producto
        - `id` string — id del impuesto a asociar
    - `type` 'product' | 'service' | 'variantParent' | 'kit' — Indica el tipo de producto. Las opciones posibles son product, service, variantParent y kit
    - `customFields` object[] — Arreglo con objetos que representa los campos adicionales del ítem. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del campo adicional. value (string) valor a asignar en el campo adicional para el item.
      - `id` string — Identificador del campo adocional.
      - `value` string — Valor del campo adicional en el item.
    - `subitems` object[] — Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
      - `item` object
        - `id` string — Identificador del item.
      - `quantity` integer — Cantidad del item en el combo.
    - `kitWarehouse` object — Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
      - `id` string — Identificador de la bodega.
    - `itemCategory` object — Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
      - `id` string — Identificador de la categoría de item a asociar
    - `variantAttributes` object[] — Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del item es variantParent. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del atributo variante. options(array of objects) Array de objetos con los ids de las opciones a agregar en el item.
      - `id` string — Identificador de la variante.
      - `options` object[]
        - `id` string — Identificador de la opción de la variante.
    - `accounting` object — Objeto que contiene las cuentas de inventario y compras inventariables de los items inventariables. Las opciones disponibles son: inventory e inventariablePurchase. Se puede enviar solo el id de la cuenta contable o como objeto
      - `inventory` union
        - string — Identificador de la cuenta de inventario.
        - object
          - `id` string — Identificador de la cuenta de inventario.
      - `inventariablePurchase` union
        - string — Identificador de la cuenta de compras inventariables.
        - object
          - `id` string — Identificador de la cuenta de compras inventariables.
    - `productKey` string — Código del producto o servicio. Para poder ver la lista de los codigos puedes hacer [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/productkeys-inventory/productkey-cri.xlsx)
    - `tariffHeading` string — Cadena de 12 caracteres que indica la partida arancelaria de un ítem.
  - object
    - `name` string, required — Nombre del producto o servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del producto o servicio. Longitud máxima permitida: 500.
    - `reference` string — Referencia del producto o servicio. Longitud máxima permitida: 45.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `category` object — Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio. Si no se envía este atributo el producto o servicio queda asociado a la categoría de Ventas.
      - `id` string — Identificador de la categoría.
    - `inventory` object — Indica los atributos del inventario del producto. Si es un servicio este atributo se debe omitir. Este objeto debe contener los siguientes atributos: `unit` (string, obligatorio): Unidad de medida del producto. Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable; `unitCost` (number, obligatorio): Costo unitario del producto. `initialQuantity` (number, obligatorio): Cantidad inicial del producto. Si se desea distribuir el producto en bodegas se debe adicionar un array con objetos `warehouse`, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: `id` (integer, obligatorio) : Identificador de la bodega; `initialQuantity` (integer, obligatorio) : Cantidad inicial del producto en la bodega, `minQuantity` (integer): Cantidad mínima configurada para el producto en la bodega, `maxQuantity` (integer): Cantidad máxima configurada para el producto en la bodega.
      - `unit` 'unit' | 'centimeter' | 'meter' | 'inch' | 'mililiter' | 'centimeterSquared' | 'meterSquared' | 'inchSquared' | 'liter' | 'gallon' | 'gram' | 'kilogram' | 'service' | 'par' | 'cubicMeterNet' | 'cubicMeter' | 'min' | 'hour' | 'day' | 'box' — Unidad de medida del producto. Para poder ver la lista completa puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-pan.xlsx).
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
      - `warehouses` object[] — Lista de bodegas a las que está asociado el producto.
        - `id` string — Identificador de la bodega
        - `initialQuantity` integer — Cantidad inicial del producto en la bodega
        - `minQuantity` integer — Cantidad mínima del producto en la bodega.
        - `maxQuantity` integer — Cantidad máxima del producto en la bodega.
    - `tax` union — Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
      - string — id del impuesto a asociar
      - object[] — Lista de impuestos asociados al producto
        - `id` string — id del impuesto a asociar
    - `type` 'product' | 'service' | 'variantParent' | 'kit' — Indica el tipo de producto. Las opciones posibles son product, service, variantParent y kit
    - `customFields` object[] — Arreglo con objetos que representa los campos adicionales del ítem. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del campo adicional. value (string) valor a asignar en el campo adicional para el item.
      - `id` string — Identificador del campo adocional.
      - `value` string — Valor del campo adicional en el item.
    - `subitems` object[] — Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
      - `item` object
        - `id` string — Identificador del item.
      - `quantity` string — Cantidad del item en el combo.
    - `kitWarehouse` object — Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
      - `id` string — Identificador de la bodega.
    - `itemCategory` object — Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
      - `id` string — Identificador de la categoría de item a asociar
    - `variantAttributes` object[] — Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del item es variantParent. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del atributo variante. options(array of objects) Array de objetos con los ids de las opciones a agregar en el item.
      - `id` string — Identificador de la variante.
      - `options` object[]
        - `id` string — Identificador de la opción de la variante.
    - `accounting` object — Objeto que contiene las cuentas de inventario y compras inventariables de los items inventariables. Las opciones disponibles son: inventory e inventariablePurchase. Se puede enviar solo el id de la cuenta contable o como objeto
      - `inventory` union
        - string — Identificador de la cuenta de inventario.
        - object
          - `id` string — Identificador de la cuenta de inventario.
      - `inventariablePurchase` union
        - string — Identificador de la cuenta de compras inventariables.
        - object
          - `id` string — Identificador de la cuenta de compras inventariables.
    - `productKey` string — Código del producto o servicio. Para poder ver la lista de los codigos puedes hacer [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/productkeys-inventory/productkey-pan.xlsx)
  - object
    - `name` string, required — Nombre del producto o servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del producto o servicio. Longitud máxima permitida: 500.
    - `reference` string — Referencia del producto o servicio. Longitud máxima permitida: 45.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `productKey` string — Código del producto o servicio. Para poder ver la lista de los codigos puedes hacer [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/productkeys-inventory/productkey-per.xlsx)
    - `category` object — Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio. Si no se envía este atributo el producto o servicio queda asociado a la categoría de Ventas.
      - `id` string — Identificador de la categoría.
    - `inventory` object — Indica los atributos del inventario del producto. Si es un servicio este atributo se debe omitir. Este objeto debe contener los siguientes atributos: `unit` (string, obligatorio): Unidad de medida del producto. Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable; `unitCost` (number, obligatorio): Costo unitario del producto. `initialQuantity` (number, obligatorio): Cantidad inicial del producto. Si se desea distribuir el producto en bodegas se debe adicionar un array con objetos `warehouse`, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: `id` (integer, obligatorio) : Identificador de la bodega; `initialQuantity` (integer, obligatorio) : Cantidad inicial del producto en la bodega, `minQuantity` (integer): Cantidad mínima configurada para el producto en la bodega, `maxQuantity` (integer): Cantidad máxima configurada para el producto en la bodega.
      - `unit` 'unit' | 'centimeter' | 'meter' | 'inch' | 'centimeterSquared' | 'meterSquared' | 'inchSquared' | 'mililiter' | 'liter' | 'gallon' | 'gram' | 'kilogram' | 'service' | 'par' | 'cubicMeterNet' | 'cubicMeter' | 'hour' | 'MIN' | 'DAY' | 'box' | 'drum' — Unidad de medida del producto. Para poder ver la lista completa puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-per.xlsx).
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
      - `warehouses` object[] — Lista de bodegas a las que está asociado el producto.
        - `id` string — Identificador de la bodega
        - `initialQuantity` integer — Cantidad inicial del producto en la bodega
        - `minQuantity` integer — Cantidad mínima del producto en la bodega.
        - `maxQuantity` integer — Cantidad máxima del producto en la bodega.
    - `tax` union — Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
      - integer — id del impuesto a asociar
      - object[] — Lista de impuestos asociados al producto
        - `id` string — id del impuesto a asociar
    - `type` 'product' | 'service' | 'variantParent' | 'kit' — Indica el tipo de producto. Las opciones posibles son product, service, variantParent y kit
    - `customFields` object[] — Arreglo con objetos que representa los campos adicionales del ítem. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del campo adicional. value (string) valor a asignar en el campo adicional para el item.
      - `id` string — Identificador del campo adocional.
      - `value` string — Valor del campo adicional en el item.
    - `subitems` object[] — Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
      - `item` object
        - `id` string — Identificador del item.
      - `quantity` integer — Cantidad del item en el combo.
    - `kitWarehouse` object — Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
      - `id` string — Identificador de la bodega.
    - `itemCategory` object — Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
      - `id` string — Identificador de la categoría de item a asociar
    - `variantAttributes` object[] — Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del item es variantParent. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del atributo variante. options(array of objects) Array de objetos con los ids de las opciones a agregar en el item.
      - `id` string — Identificador de la variante.
      - `options` object[]
        - `id` string — Identificador de la opción de la variante.
    - `accounting` object — Objeto que contiene las cuentas de inventario y compras inventariables de los items inventariables. Las opciones disponibles son: inventory e inventariablePurchase. Se puede enviar solo el id de la cuenta contable o como objeto
      - `inventory` union
        - string — Identificador de la cuenta de inventario.
        - object
          - `id` string — Identificador de la cuenta de inventario.
      - `inventariablePurchase` union
        - string — Identificador de la cuenta de compras inventariables.
        - object
          - `id` string — Identificador de la cuenta de compras inventariables.
    - `tariffHeading` string — Cadena de 10 caracteres que indica la partida arancelaria de un ítem. Aplica para facturas electrónicas de exportación.
    - `brand` string — Cadena de caracteres que indica la marca de un ítem. Aplica para facturas electrónicas de exportación.
    - `model` string — Cadena de caracteres que indica el modelo de un ítem. Aplica para facturas electrónicas de exportación.
  - object
    - `name` string, required — Nombre del producto o servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del producto o servicio. Longitud máxima permitida: 500.
    - `reference` string — Referencia del producto o servicio. Longitud máxima permitida: 45.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `category` object — Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio. Si no se envía este atributo el producto o servicio queda asociado a la categoría de Ventas.
      - `id` string — Identificador de la categoría.
    - `inventory` object — Indica los atributos del inventario del producto. Si es un servicio este atributo se debe omitir. Este objeto debe contener los siguientes atributos: `unit` (string, obligatorio): Unidad de medida del producto. Los valores posibles puedes visualizarlos haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-mex.xlsx). ;`unitCost` (number, obligatorio): Costo unitario del producto. `initialQuantity` (number, obligatorio): Cantidad inicial del producto. Si se desea distribuir el producto en bodegas se debe adicionar un array con objetos `warehouse`, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: `id` (integer, obligatorio) : Identificador de la bodega; `initialQuantity` (integer, obligatorio) : Cantidad inicial del producto en la bodega, `minQuantity` (integer): Cantidad mínima configurada para el producto en la bodega, `maxQuantity` (integer): Cantidad máxima configurada para el producto en la bodega.
      - `unit` string — Unidad de medida del producto. Para poder ver la lista completa puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-mex.xlsx).
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
      - `warehouses` object[] — Lista de bodegas a las que está asociado el producto.
        - `id` string — Identificador de la bodega
        - `initialQuantity` integer — Cantidad inicial del producto en la bodega
        - `minQuantity` integer — Cantidad mínima del producto en la bodega.
        - `maxQuantity` integer — Cantidad máxima del producto en la bodega.
    - `tax` union — Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
      - string — id del impuesto a asociar
      - object[] — Lista de impuestos asociados al producto
        - `id` string — id del impuesto a asociar
    - `type` 'product' | 'service' | 'variantParent' | 'kit' — Indica el tipo de producto. Las opciones posibles son product, service, variantParent y kit
    - `customFields` object[] — Arreglo con objetos que representa los campos adicionales del ítem. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del campo adicional. value (string) valor a asignar en el campo adicional para el item.
      - `id` string — Identificador del campo adocional.
      - `value` string — Valor del campo adicional en el item.
    - `subitems` object[] — Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
      - `item` object
        - `id` string — Identificador del item.
      - `quantity` integer — Cantidad del item en el combo.
    - `kitWarehouse` object — Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
      - `id` string — Identificador de la bodega.
    - `itemCategory` object — Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
      - `id` string — Identificador de la categoría de item a asociar
    - `variantAttributes` object[] — Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del item es variantParent. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del atributo variante. options(array of objects) Array de objetos con los ids de las opciones a agregar en el item.
      - `id` string — Identificador de la variante.
      - `options` object[]
        - `id` string — Identificador de la opción de la variante.
    - `accounting` object — Objeto que contiene las cuentas de inventario y compras inventariables de los items inventariables. Las opciones disponibles son: inventory e inventariablePurchase. Se puede enviar solo el id de la cuenta contable o como objeto
      - `inventory` union
        - string — Identificador de la cuenta de inventario.
        - object
          - `id` string — Identificador de la cuenta de inventario.
      - `inventariablePurchase` union
        - string — Identificador de la cuenta de compras inventariables.
        - object
          - `id` string — Identificador de la cuenta de compras inventariables.
    - `productKey` string — Código del producto o servicio. Para poder ver la lista de los codigos puedes hacer [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/productkeys-inventory/productkey-mex.xlsx)
  - object
    - `name` string, required — Nombre del producto o servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del producto o servicio. Longitud máxima permitida: 500.
    - `reference` string — Referencia del producto o servicio. Longitud máxima permitida: 45.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `category` object — Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio. Si no se envía este atributo el producto o servicio queda asociado a la categoría de Ventas.
      - `id` string — Identificador de la categoría.
    - `inventory` object — Indica los atributos del inventario del producto. Si es un servicio este atributo se debe omitir. Este objeto debe contener los siguientes atributos: `unit` (string, obligatorio): Unidad de medida del producto. Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable; `unitCost` (number, obligatorio): Costo unitario del producto. `initialQuantity` (number, obligatorio): Cantidad inicial del producto. Si se desea distribuir el producto en bodegas se debe adicionar un array con objetos `warehouse`, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: `id` (integer, obligatorio) : Identificador de la bodega; `initialQuantity` (integer, obligatorio) : Cantidad inicial del producto en la bodega, `minQuantity` (integer): Cantidad mínima configurada para el producto en la bodega, `maxQuantity` (integer): Cantidad máxima configurada para el producto en la bodega.
      - `unit` 'notApplicable' | 'unit' | 'service' | 'piece' | 'centimeter' | 'meter' | 'inch' | 'centimeterSquared' | 'meterSquared' | 'inchSquared' | 'mililiter' | 'liter' | 'gallon' | 'gram' | 'kilogram' | 'ton' | 'pound' — Unidad de medida del producto. Para poder ver la lista completa puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-col.xlsx).
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
      - `warehouses` object[] — Lista de bodegas a las que está asociado el producto.
        - `id` string — Identificador de la bodega
        - `initialQuantity` integer — Cantidad inicial del producto en la bodega
        - `minQuantity` integer — Cantidad mínima del producto en la bodega.
        - `maxQuantity` integer — Cantidad máxima del producto en la bodega.
    - `tax` union — Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
      - string — id del impuesto a asociar
      - object[] — Lista de impuestos asociados al producto
        - `id` string — id del impuesto a asociar
    - `withoutTax` object — Indica si el producto o servicio no tiene impuestos asociados. Es requerido al seleccionar un impuesto con valor 0%
      - `reason` 'exempt' | 'notSubject' — Indica el motivo por el cual el producto o servicio no tiene impuestos asociados.
      - `cause` 'E1' | 'E2' | 'E3' | 'E4' | 'E5' | 'E6' | 'OT' | 'RL' | 'VT' | 'IE' | 'N1' | 'N2' — Indica la causa por la cual el producto o servicio no tiene impuestos asociados. Cuando es tipo "exempt" se debe enviar los códigos que inician con "E" y cuando es tipo "notSubject" aplican los otros.
    - `type` 'product' | 'service' | 'variantParent' | 'kit' — Indica el tipo de producto. Las opciones posibles son product, service, variantParent y kit
    - `customFields` object[] — Arreglo con objetos que representa los campos adicionales del ítem. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del campo adicional. value (string) valor a asignar en el campo adicional para el item.
      - `id` string — Identificador del campo adocional.
      - `value` string — Valor del campo adicional en el item.
    - `subitems` object[] — Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
      - `item` object
        - `id` string — Identificador del item.
      - `quantity` integer — Cantidad del item en el combo.
    - `kitWarehouse` object — Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
      - `id` string — Identificador de la bodega.
    - `itemCategory` object — Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
      - `id` string — Identificador de la categoría de item a asociar
    - `variantAttributes` object[] — Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del item es variantParent. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del atributo variante. options(array of objects) Array de objetos con los ids de las opciones a agregar en el item.
      - `id` string — Identificador de la variante.
      - `options` object[]
        - `id` string — Identificador de la opción de la variante.
    - `accounting` object — Objeto que contiene las cuentas de inventario y compras inventariables de los items inventariables. Las opciones disponibles son: inventory e inventariablePurchase. Se puede enviar solo el id de la cuenta contable o como objeto
      - `inventory` union
        - string — Identificador de la cuenta de inventario.
        - object
          - `id` string — Identificador de la cuenta de inventario.
      - `inventariablePurchase` union
        - string — Identificador de la cuenta de compras inventariables.
        - object
          - `id` string — Identificador de la cuenta de compras inventariables.
  - object
    - `name` string, required — Nombre del producto o servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del producto o servicio. Longitud máxima permitida: 500.
    - `reference` object
      - `type` string — Tipo de referencia del producto
      - `reference` string — Referencia del producto o servicio. Longitud máxima permitida: 45.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `category` object — Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio. Si no se envía este atributo el producto o servicio queda asociado a la categoría de Ventas.
      - `id` string — Identificador de la categoría.
    - `inventory` object — Indica los atributos del inventario del producto. Si es un servicio este atributo se debe omitir. Este objeto debe contener los siguientes atributos: `unit` (string, obligatorio): Unidad de medida del producto. Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable; `unitCost` (number, obligatorio): Costo unitario del producto. `initialQuantity` (number, obligatorio): Cantidad inicial del producto. Si se desea distribuir el producto en bodegas se debe adicionar un array con objetos `warehouse`, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: `id` (integer, obligatorio) : Identificador de la bodega; `initialQuantity` (integer, obligatorio) : Cantidad inicial del producto en la bodega, `minQuantity` (integer): Cantidad mínima configurada para el producto en la bodega, `maxQuantity` (integer): Cantidad máxima configurada para el producto en la bodega.
      - `unit` 'unit' | 'centimeter' | 'meter' | 'inch' | 'centimeterSquared' | 'meterSquared' | 'inchSquared' | 'mililiter' | 'liter' | 'gallon' | 'gram' | 'kilogram' | 'service' | 'par' | 'cubicMeterNet' | 'cubicMeter' | 'hour' | 'MIN' | 'DAY' | 'box' | 'drum' — Unidad de medida del producto. Para poder ver la lista completa puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-dom.xlsx).
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
      - `warehouses` object[] — Lista de bodegas a las que está asociado el producto.
        - `id` string — Identificador de la bodega
        - `initialQuantity` integer — Cantidad inicial del producto en la bodega
        - `minQuantity` integer — Cantidad mínima del producto en la bodega.
        - `maxQuantity` integer — Cantidad máxima del producto en la bodega.
    - `tax` union — Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
      - string — id del impuesto a asociar
      - object[] — Lista de impuestos asociados al producto
        - `id` string — id del impuesto a asociar
    - `type` 'product' | 'service' | 'variantParent' | 'kit' — Indica el tipo de producto. Las opciones posibles son product, service, variantParent y kit
    - `customFields` object[] — Arreglo con objetos que representa los campos adicionales del ítem. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del campo adicional. value (string) valor a asignar en el campo adicional para el item.
      - `id` string — Identificador del campo adocional.
      - `value` string — Valor del campo adicional en el item.
    - `subitems` object[] — Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
      - `item` object
        - `id` string — Identificador del item.
      - `quantity` integer — Cantidad del item en el combo.
    - `kitWarehouse` object — Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
      - `id` string — Identificador de la bodega.
    - `itemCategory` object — Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
      - `id` string — Identificador de la categoría de item a asociar
    - `variantAttributes` object[] — Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del item es variantParent. El objeto debe estar compuesto por los siguientes atributos: id (int) Id del atributo variante. options(array of objects) Array de objetos con los ids de las opciones a agregar en el item.
      - `id` string — Identificador de la variante.
      - `options` object[]
        - `id` string — Identificador de la opción de la variante.
    - `accounting` object — Objeto que contiene las cuentas de inventario y compras inventariables de los items inventariables. Las opciones disponibles son: inventory e inventariablePurchase. Se puede enviar solo el id de la cuenta contable o como objeto
      - `inventory` union
        - string — Identificador de la cuenta de inventario.
        - object
          - `id` string — Identificador de la cuenta de inventario.
      - `inventariablePurchase` union
        - string — Identificador de la cuenta de compras inventariables.
        - object
          - `id` string — Identificador de la cuenta de compras inventariables.
    - `tariffHeading` string — Cadena de 10 caracteres que indica la partida arancelaria de un ítem. Aplica para facturas electrónicas de exportación.
    - `brand` string — Cadena de caracteres que indica la marca de un ítem. Aplica para facturas electrónicas de exportación.
    - `model` string — Cadena de caracteres que indica el modelo de un ítem. Aplica para facturas electrónicas de exportación.
  - object
    - `name` string, required — Nombre del servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del servicio. Longitud máxima permitida: 500.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer — Valor con el precio del producto
      - object[]
        - `idPriceList` string — Identificador de la lista de precio
        - `price` number — precio del producto para la lista de precio idPriceList
    - `type` string — Indica el tipo de ítem. Para la creacion de un servicio, este parámetro debe contener el valor 'service'
    - `unit` string — Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable, etc.
  - object
    - `name` string, required — Nombre del servicio. Longitud máxima permitida: 150.
    - `description` string — Descripción del servicio. Longitud máxima permitida: 500.
    - `price` union, required — Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: idPriceList (number, obligatorio):identificador de la lista de precios; price (double) : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
      - integer
      - object[]
        - `idPriceList` string
        - `price` number
    - `type` string — Indica el tipo de ítem. Para la creacion de un servicio, este parámetro debe contener el valor 'variantParent'
    - `inventory` object — Propiedades del inventario de los items variantes
      - `unit` string — Unidad de medida del producto. Para poder ver la lista completa por versiones puedes descargarla haciendo [click aquí](https://alegra-design.s3.amazonaws.com/website/ayudas/units-inventory/unidades-generic.xlsx).
      - `unitCost` integer — Costo unitario del producto.
      - `negativeSale` boolean — Si es true el item se puede vender sin stock
    - `variantAttributes` object[] — Atributos variantes que se asociaran al item
      - `id` string — Identificador de la variante
      - `options` object[] — Array de opciones
        - `id` string — Identificador de la opcion
    - `itemVariants` object[] — Ítems variantes que se asignar
      - `inventory` object
        - `initialQuantity` integer — Cantidad inicial de la variante
        - `maxQuantity` integer — Cantidad máxima de la variante
        - `minQuantity` integer — Cantidad mínima de la variante
      - `variantAttributes` object[] — Atributos variantes que se asociaran al item
        - `id` string — Identificador de la variante
        - `options` object[] — Array de opciones
          - `id` string — Identificador de la opcion

## Response `200`

Ejemplo de consulta exitosa

- union
  - 0 — unresolved $ref
  - 1 — unresolved $ref
  - 2 — unresolved $ref
  - 3 — unresolved $ref
  - 4 — unresolved $ref
  - 5 — unresolved $ref

## Other responses

- `400` — Bad request

---

[API](https://skmtc.dev/alegra/apis/ingresos.md) · [All operations](https://skmtc.dev/alegra/apis/ingresos/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/alegra/ingresos/revisions/cd52d3f68f1b/schema)
