Saltar al contenido principal

Tablas

A continuación se detallan las tablas y columnas que pueden enviarse al servidor para almacenar sus registros.

tip

No es obligatorio enviar todas las tablas.
Puede omitir aquellas que no utilice o enviarlas como un array vacío.

Tablas requeridas por módulo

Utilice la siguiente guía para identificar las tablas necesarias para el correcto funcionamiento de cada módulo:

Tipos de datos flexibles

Cada columna debe cumplir con un tipo de dato específico. Sin embargo, el servidor admite cierta flexibilidad en los formatos aceptados para facilitar la integración:

  • String: Cadenas de texto ("texto").
  • Integer: Números enteros (100) o su versión en cadena ("100").
  • Decimal: Números decimales (100.00), enteros (100) o sus versiones en cadena ("100.00" o "100").
  • Boolean: Valores booleanos (true o false).
  • DateTime (ISO 8601): Cadenas con formato ISO 8601:
    • "2024-01-01T00:00:00Z" (zona horaria UTC)
    • "2024-01-01T00:00:00-03:00" (zona horaria GMT-03:00 - Argentina)
    • Otros formatos válidos:
      • "01-01-2024"
      • "01/01/2024"
      • "2024-01-01"
  • Time: Cadenas con formato "HH:MM" o "HH:MM:SS":
    • "12:30"
    • "12:30:00"

clients Table

Tabla de clientes.

Ejemplo JSON - [Expandir]
"clients": [
{
"client_id": 1,
"legal_name": "Cliente Test S.R.L",
"tax_condition_code": "iva_responsable_inscripto",
"identification": "30-11111111-5",
"payment_term_id": 1,
"address": "Calle 123",
"locality_id": 1,
"locality": "La Plata",
"postal_code": 1900,
"state_id": 1,
"state": "Buenos Aires",
"latitude": -34.92145,
"longitude": -57.95453,
"first_opening_time": "09:00",
"first_closing_time": "18:00",
"second_opening_time": null,
"second_closing_time": null,
"phone": "+54 011 555-555",
"email": "[email protected]",
"contact": "Juan Pérez",
"adjustment_type": "discount-percentage",
"adjustment_value": 10.00,
"zone_id": 1,
"sales_agent_id": 1,
"payment_collections_agent_id": 1,
"price_list_id": 1,
"ending_balance": 0.00,
"credit_limit": 50000.00,
"pending_clearance_amount": 0.00,
"last_sale_at": "2024-01-01T00:00:00-03:00",
"observations": "Oficinas en 1er piso",
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
client_id
[Primary Key]
IntegerID del clienteNoNo-
legal_nameString (100)Razón social
(o nombre completo)
NoNo-
tax_condition_codeString:
iva_responsable_inscripto,
iva_responsable_monotributo,
iva_sujeto_exento,
consumidor_final
Código de condición fiscalNull
identificationString (50)IdentificaciónNullCUIT, DNI u otros
payment_term_idIntegerID de la condición de ventaNull
addressString (100)DirecciónNoNo-
locality_idIntegerID de la localidadNull
localityString (70)Nombre de la localidadNull
postal_codeIntegerCódigo postalNull
state_idIntegerID de la provinciaNull
stateString (60)Nombre de la provinciaNull
latitudeDecimalLatitudNull
longitudeDecimalLongitudNull
first_opening_timeTimePrimer horario de aperturaNull
first_closing_timeTimePrimer horario de cierreNull
second_opening_timeTimeSegundo horario de aperturaNull
second_closing_timeTimeSegundo horario de cierreNull
phoneString (50)TeléfonoNull
emailString (80)EmailNull
contactString (50)ContactoNull
adjustment_typeString:
surcharge-percentage,
discount-percentage
Tipo de ajuste: recargo o descuentoNoNo-
adjustment_valueDecimalPorcentaje de recargo o descuentoNoNo-
zone_idIntegerID de la zona asignadaNull
sales_agent_idIntegerID del vendedor asignadoNull
payment_collections_agent_idIntegerID del cobrador asignadoNull
price_list_idIntegerID de la lista de precios asignadaNull
ending_balanceDecimalBalance finalNull
credit_limitDecimalLímite de créditoNull
pending_clearance_amountDecimalMonto pendiente de acreditaciónNo0.00
last_sale_atDateTime
(ISO 8601)
Fecha de última ventaNull
observationsString (500)ObservacionesNull

clients_debts Table

Tabla de deudas de clientes.

Ejemplo JSON - [Expandir]
"clients_debts": [
{
"client_debt_id": 1,
"client_id": 1,
"invoice_code": "AA-0001",
"invoice_created_at": "2024-01-01T00:00:00.000Z",
"invoice_due_date": "2024-02-01T00:00:00.000Z",
"description": "Factura pendiente",
"total_amount": 1000.00,
"paid_amount": 500.00
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
client_debt_id
[Primary Key]
IntegerID de deuda del clienteNoNo-
client_idIntegerID del clienteNoNo-
invoice_codeString (100)Código de la facturaNoNo-
invoice_created_atDateTime
(ISO 8601)
Fecha y hora de creación de la facturaNoNo-Formato de fecha ISO 8601 (tipos flexibles)
invoice_due_dateDateTime
(ISO 8601)
Fecha y hora de vencimiento de la facturaNullFormato de fecha ISO 8601 (tipos flexibles)
descriptionString (150)DescripciónNull
total_amountDecimalMonto total de la deudaNoNo-
paid_amountDecimalMonto pagado hasta el momentoNoNo-

payment_terms Table

Tabla de condiciones de venta.

Ejemplo JSON - [Expandir]
"payment_terms": [
{
"payment_term_id": 1,
"description": "CTA. CTE. 30 días",
"adjustment_type": "surcharge-percentage",
"adjustment_value": 10.00,
"days_to_invoice_expiration": 30
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
payment_term_id
[Primary Key]
IntegerID de la condición de ventaNoNo-
descriptionString (75)DescripciónNoNo-
adjustment_typeString:
surcharge-percentage,
discount-percentage
Tipo de ajuste: recargo o descuentoNoNo-
adjustment_valueDecimalPorcentaje de recargo o descuentoNoNo-
days_to_invoice_expirationIntegerCantidad de días para la expiración de la facturaSiSiNull

prices Table

Tabla de precios.

Ejemplo JSON - [Expandir]
"prices": [
{
"price_id": 1,
"product_id": 1,
"price_list_id": 1,
"price": 150.00
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
price_id
[Primary Key]
IntegerID del precioNoNo-
product_idIntegerID del producto asociadoNoNo-
price_list_idIntegerID de la lista de precios asociadaNoNo-
priceDecimalMonto del precioNoNo-

price_lists Table

Tabla de listas de precios.

Ejemplo JSON - [Expandir]
"price_lists": [
{
"price_list_id": 1,
"name": "Lista 1",
"include_iva": true
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
price_list_id
[Primary Key]
IntegerID de la lista de preciosNoNo-
nameString (50)NombreNoNo-
include_ivaBooleanIndica si los precios incluyen IVANoNo-

products Table

Tabla de productos.

Ejemplo JSON - [Expandir]
"products": [
{
"product_id": 1,
"description": "Producto 1",
"group_id": 1,
"sub_group_id": 1,
"iva": 21.00,
"barcode": "7790001000001",
"stock": 100.00,
"brand_id": 1,
"category_id": 1,
"unit_type_id": 1,
"quantity_per_unit": 1.00,
"weight": 0.00,
"minimum_quantity_to_select": 0.00,
"default_discount": 10.00,
"maximum_discount": 20.00,
"price_multiplier": 1.00
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
product_id
[Primary Key]
IntegerID del productoNoNo-
descriptionString (150)DescripciónNoNo-
brand_idIntegerID de la marcaNull
category_idIntegerID de la categoríaNull
group_idIntegerID del grupoNull
sub_group_idIntegerID del sub grupoNull
ivaDecimalPorcentaje de IVANoNo-
barcodeString (40)Código de barrasNull
stockDecimalCantidad de stock disponibleNull
unit_type_idIntegerID del tipo de unidadNull
quantity_per_unitDecimalCantidad por tipo de unidadNull
weightDecimalPeso
(Kilogramos)
Null
minimum_quantity_to_selectDecimalCantidad mínima que puede ser seleccionadaNull
default_discountDecimalDescuento por defectoNull
maximum_discountDecimalDescuento máximo que se puede aplicarNull
price_multiplierDecimalMultiplicador de precio1.00

brands Table

Tabla de marcas.

Ejemplo JSON - [Expandir]
"brands": [
{
"brand_id": 1,
"name": "Procenex"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
brand_id
[Primary Key]
IntegerID de la marcaNoNo-
nameString (45)NombreNoNo-

categories Table

Tabla de categorías.

Ejemplo JSON - [Expandir]
"categories": [
{
"category_id": 1,
"name": "Limpieza"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
category_id
[Primary Key]
IntegerID de la categoríaNoNo-
nameString (45)NombreNoNo-

groups Table

Tabla de grupos.

Ejemplo JSON - [Expandir]
"groups": [
{
"group_id": 1,
"name": "Grupo 1"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
group_id
[Primary Key]
IntegerID del grupoNoNo-
nameString (45)NombreNoNo-

sub_groups Table

Tabla de sub grupos.

Ejemplo JSON - [Expandir]
"sub_groups": [
{
"sub_group_id": 1,
"group_id": 1,
"name": "Sub Grupo 1"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
sub_group_id
[Primary Key]
IntegerID del sub grupoNoNo-
group_idIntegerID del grupo al que pertenece el sub grupoNoNo-
nameString (45)NombreNoNo-

unit_types Table

Tabla de tipos de unidad.

Ejemplo JSON - [Expandir]
"unit_types": [
{
"unit_type_id": 1,
"name": "Unidad"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
unit_type_id
[Primary Key]
IntegerID del tipo de unidadNoNo-
nameString (50)NombreNoNo-

sales_agents Table

Tabla de vendedores.

Ejemplo JSON - [Expandir]
"sales_agents": [
{
"sales_agent_id": 1,
"name": "Vendedor 1"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
sales_agent_id
[Primary Key]
IntegerID del vendedorNoNo-
nameString (45)NombreNoNo-

collections_agents Table

Tabla de cobradores.

Ejemplo JSON - [Expandir]
"collections_agents": [
{
"collections_agent_id": 1,
"name": "Cobrador 1"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
collections_agent_id
[Primary Key]
IntegerID del cobradorNoNo-
nameString (45)NombreNoNo-

zones Table

Tabla de zonas.

Ejemplo JSON - [Expandir]
"zones": [
{
"zone_id": 1,
"name": "Zona Norte"
},

{
// ...
},
]
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
zone_id
[Primary Key]
IntegerID de la zonaNoNo-
nameString (50)NombreNoNo-

states Table

Tabla de provincias.

Ejemplo JSON - [Expandir]
"states": [
{
"state_id": 1,
"name": "Buenos Aires"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
state_id
[Primary Key]
IntegerID de la provinciaNoNo-
nameString (60)NombreNoNo-

localities Table

Tabla de localidades.

Ejemplo JSON - [Expandir]
"localities": [
{
"locality_id": 1,
"name": "La Plata",
"state_id": 1,
"postal_code": "1900",
"phone_prefix": "221"
},

{
// ...
},
],
ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
locality_id
[Primary Key]
IntegerID de la localidadNoNo-
nameString (70)NombreNoNo-
state_idIntegerID de la provincia a la que pertenece la localidadNoNo-
postal_codeString (15)Código postalNull
phone_prefixIntegerPrefijo telefónicoNull

banks Table

Tabla de bancos.

Ejemplo JSON - [Expandir]
"banks": [
{
"bank_id": 1,
"name": "BBVA"
},

{
// ...
},
],

Obligatorio para realizar cobranzas mediante los métodos de pago: "Valores en cartera" o "Transferencia".

ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
bank_id
[Primary Key]
IntegerID del bancoNoNo-
nameString (60)NombreNoNo-

bank_accounts Table

Tabla de cuentas bancarias.

Ejemplo JSON - [Expandir]
"bank_accounts": [
{
"bank_account_id": 1,
"name": "Cuenta Principal"
},

{
// ...
},
],

Propósito:
Utilizada en el modulo de cobranzas.

Requerimientos

La información de cuentas bancarias es obligatoria cuando se realizan cobranzas mediante los métodos de pago "Valores en cartera" o "Transferencia".

Si no se utilizan estos métodos de pago, su inclusión es opcional.

ColumnaTipoDescripciónOpcionalNullableDefaultObservaciones
bank_account_id
[Primary Key]
IntegerID de la cuenta bancariaNoNo-
nameString (60)NombreNoNo-