|
|
# Verificar que el json contenga el campo key
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"ip": "54.86.50.139",
|
|
|
"error": "No existe el campo key"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el json contenga el campo id_usuario_registra
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"ip": "54.86.50.139",
|
|
|
"error": "No existe id_usuario_registra",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el json contenga el campo type
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"ip": "54.86.50.139",
|
|
|
"error": "No existe type",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el json contenga el campo data
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "",
|
|
|
"error": "No existe data",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el campo data sea un jsonobject
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": "",
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "",
|
|
|
"error": "data debe ser un JSONObject",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el campo data del json contenga el campo tipo_comprobante
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "",
|
|
|
"error": "No existe tipo_comprobante en data",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el campo data del json contenga el campo detalle
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"tipo_comprobante": ""
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "",
|
|
|
"error": "No existe detalle en data",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el campo detalle sea un jsonArray
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"tipo_comprobante": "",
|
|
|
"detalle": ""
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "",
|
|
|
"error": "detalle debe ser un JSON Array",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que tenga mínimo dos movimientos en el detalle del comprobante
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"tipo_comprobante": "",
|
|
|
"detalle": []
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "",
|
|
|
"error": "Requiere al menos dos movimientos",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que tenga mínimo dos movimientos en el detalle del comprobante
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"tipo_comprobante": "",
|
|
|
"detalle": []
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "",
|
|
|
"error": "Requiere al menos dos movimientos",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el campo type siempre sea setComprobantes
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"error": "type incorrecto"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que la llave o key sea la habilitada para realizar la emision
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"detalle": [
|
|
|
{},
|
|
|
{}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "Error en la key, su llave es invalida.",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": ""
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el comprobante tenga observacion
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"detalle": [
|
|
|
{},
|
|
|
{}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "Falta el campo observacion.",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": "6e1cb93d-f56f-41a1-93A5-5227c21370b1"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el comprobante tenga glosa
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"observacion": "Asiento de apertura",
|
|
|
"detalle": [
|
|
|
{},
|
|
|
{}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "Falta el campo glosa_comprobante.",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": "6e1cb93d-f56f-41a1-93A5-5227c21370b1"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el comprobante en el detalle tenga registrado el debe o haber
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"glosa_comprobante": "glosa del asiento",
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"observacion": "Asiento de apertura",
|
|
|
"detalle": [
|
|
|
{},
|
|
|
{}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "JSONObject[\"debe\"] || JSONObject[\"haber\"] not found.",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": "6e1cb93d-f56f-41a1-93A5-5227c21370b1"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el comprobante en el detalle tenga registrado el codigo de la cuenta
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"glosa_comprobante": "glosa del asiento",
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"observacion": "Asiento de apertura",
|
|
|
"detalle": [
|
|
|
{
|
|
|
"haber": 0,
|
|
|
"debe": 100
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"debe": 0
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "No existe codigo",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": "6e1cb93d-f56f-41a1-93A5-5227c21370b1"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el comprobante en el detalle tenga la moneda de cada movimiento
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"glosa_comprobante": "glosa del asiento",
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"observacion": "Asiento de apertura",
|
|
|
"detalle": [
|
|
|
{
|
|
|
"haber": 0,
|
|
|
"codigo": "2-02-01-2-95-05",
|
|
|
"debe": 100
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"codigo": "1-01-02-1-01-01",
|
|
|
"debe": 0
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"codigo": "1-01-02-1-01-01",
|
|
|
"debe": 0
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "No existe moneda",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": "6e1cb93d-f56f-41a1-93A5-5227c21370b1"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar que el los codigos de las cuentas sean correctos
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"glosa_comprobante": "glosa del asiento",
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"observacion": "Asiento de apertura",
|
|
|
"detalle": [
|
|
|
{
|
|
|
"haber": 0,
|
|
|
"codigo": "2-02-01-2-95-05",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 100
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"codigo": "1-01-02-1-01-01",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 0
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"codigo": "1-01-02-1-01-01",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 0
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "No existe la cuenta 2-02-01-2-95-05",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": "6e1cb93d-f56f-41a1-93A5-5227c21370b1"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar si utiliza una cuenta que contiene centros de costos y no lo esta agregando, le sugiere que centros de costos tiene asignada la cuenta
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"glosa_comprobante": "glosa del asiento",
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"observacion": "Asiento de apertura",
|
|
|
"detalle": [
|
|
|
{
|
|
|
"haber": 0,
|
|
|
"codigo": "2-02-01-2-91-05",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 100
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"codigo": "1-01-02-1-01-01",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 0
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"codigo": "1-01-02-1-01-01",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 0
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "Fallo al relacionar la cuenta contable (2-02-01-2-91-05) solo puede usar los siguientes auxiliares en esta cuenta (01 ,02 ,03 ).",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": "6e1cb93d-f56f-41a1-93A5-5227c21370b1"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Verificar exista partida doble en el comprobante
|
|
|
```json
|
|
|
{
|
|
|
"estado": "error",
|
|
|
"data": {
|
|
|
"glosa_comprobante": "glosa del asiento",
|
|
|
"tipo_comprobante": "ingreso",
|
|
|
"observacion": "Asiento de apertura",
|
|
|
"detalle": [
|
|
|
{
|
|
|
"haber": 0,
|
|
|
"codigo": "2-02-01-2-91-05",
|
|
|
"auxiliar": "01",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 100
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"codigo": "1-01-02-1-01-01",
|
|
|
"auxiliar": "BMSC-536",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 0
|
|
|
},
|
|
|
{
|
|
|
"haber": 100,
|
|
|
"codigo": "1-01-02-1-01-01",
|
|
|
"auxiliar": "BMSC-536",
|
|
|
"moneda": "BOLIVIANOS",
|
|
|
"debe": 0
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
"ip": "54.86.50.139",
|
|
|
"type": "setComprobantes",
|
|
|
"error": "No existe partida doble!! debe:100 - haber:200",
|
|
|
"id_usuario_registra": "",
|
|
|
"key": "6e1cb93d-f56f-41a1-93A5-5227c21370b1"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# el resultado y disparo correcto sería
|
|
|
# Verificar exista partida doble en el comprobante
|
|
|
```json
|
|
|
https://demo.ibrokers.cloud/comprobante?data=
|
|
|
{
|
|
|
type: "setComprobantes",
|
|
|
key: "6e1cb93d-f56f-41a1-93A5-5227c21370b1",
|
|
|
id_usuario_registra: "",
|
|
|
data: {
|
|
|
tipo_comprobante: "ingreso",
|
|
|
observacion: "Asiento de apertura",
|
|
|
glosa_comprobante: "glosa del asiento",
|
|
|
detalle: [
|
|
|
{ codigo:"2-02-01-2-91-05", auxiliar:"01", debe:100, haber:0, moneda: "BOLIVIANOS"},
|
|
|
{ codigo:"1-01-02-1-01-01", auxiliar:"BMSC-536", debe: 0, haber:100, moneda: "BOLIVIANOS"},
|
|
|
{ codigo:"1-01-02-1-01-01", auxiliar:"BMSC-536", debe: 0, haber:100, moneda: "BOLIVIANOS"},
|
|
|
{ codigo:"2-02-01-2-91-05", auxiliar:"01", debe:100, haber:0, moneda: "BOLIVIANOS"}
|
|
|
]
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# Nota: Si quieres hacer la prueba del disparo en nuestro entorno demo, ir al postman de strasol.
|
|
|
|
|
|
[Link a postman](https://strasol.postman.co/workspace/Contabilidad~a359e021-8d45-483b-8e51-1ca75543fe7d/request/9136651-430afb86-9006-418d-b2cd-3d6a069b43a1) |
|
|
\ No newline at end of file |