Nómina Electrónica Individual#

La nómina electrónica es un documento generado por cada empleado que se transmite a la DIAN con el propósito de aplicar a los beneficios tributarios correspondientes. A través de SOVOS Saphety, en su calidad de Proveedor Tecnológico autorizado por la DIAN, es posible realizar la generación, transmisión para validación, validación y expedición del documento, conforme a los requisitos y definiciones legales establecidos en el anexo técnico vigente regulado por la DIAN.

Note

Para la DIAN, la nómina electrónica no se gestiona de forma grupal, como ocurre internamente en las empresas. En su lugar, debe generarse y transmitirse una nómina individual por cada empleado.

A continuación, se describen los métodos y estructuras necesarios para la creación de una Nómina Electrónica (NE).

Creación de una Nómina Electrónica (NE).#

Para consumir la API, es importante tener en cuenta el entorno en el que se va a trabajar. SOVOS Saphety dispone de dos ambientes, los cuales se detallan en el apartado Entornos.

Consumo del método de creación.#

metodoNE

El Verbo Http (acción) que se utiliza para la creación de este documento es:

POST

El método que se utiliza para la creación de este documento es:

    /v2/{virtualOperator}/payroll/payrollAsync

Para esta petición se requiere como parámetro el alias de su operador virtual.

Parametro virtualOperator

Recuerde reemplazar en el método el parámetro {virtualOperator} con el alias de su operador virtual en minúsculas, por defecto el alias es “saphety”.

Body#

Estructura del mensaje JSON de una Nómina Electrónica#

A continuación, se presenta la estructura base definida por SOVOS Saphety para la creación de una Nómina Electrónica Individual.

JSON (DTO)
{	
	"FechasPagos": [
			{			
				"FechaPago": "2021-06-29"
			}
		],
	"Periodo": {		
		"FechaIngreso": "2021-07-01",
		"FechaLiquidacionInicio": "2021-07-01",
		"FechaLiquidacionFin": "2021-07-07",
		"TiempoLaborado": "7",
		"FechaGen": "2021-07-07"
	},
	"NumeroSecuenciaXML": {				
		"Prefijo": "NEX", // Prefijo generado por la plataforma de nomina 
		"Consecutivo": "888" // Consecutivo generado por la plataforma de nomina
	},
	"LugarGeneracionXML": {		
		"Pais": "CO",
		"DepartamentoEstado": "11",
		"MunicipioCiudad": "11001",
		"Idioma": "es"
	},
	"InformacionGeneral": {		
		"FechaHoraGen": "2021-07-08T00:00:00",
		"PeriodoNomina": "1",
		"TipoMoneda": "COP",
		"TRM": "10"
	},
	"Notas": [
		"Nota de prueba"
	],
	"Empleador": {		
		"NIT": "{{nit}}" // nit de la empresa emisora o empleador
	},
	"Trabajador": {		
		"TipoTrabajador": "47",
		"SubTipoTrabajador": "00",
		"AltoRiesgoPension": "true",
		"TipoDocumento": "13",
		"NumeroDocumento": "123456789",
		"PrimerApellido": "Primer Apellido",
		"SegundoApellido": "Segundo Apellido",
		"PrimerNombre": "Primer Nombre",
		"OtrosNombres": "Otros Nombres",
		"LugarTrabajoPais": "CO",
		"LugarTrabajoDepartamentoEstado": "11",
		"LugarTrabajoMunicipioCiudad": "11001",
		"LugarTrabajoDireccion": "Direccion",
		"SalarioIntegral": "true",
		"TipoContrato": "1",
		"Sueldo": "2800000",
		"CodigoTrabajador": "47",
		"CorreoElectronico": "correo@correo.com" // si no se quiere enviar la notificacion eliminar este campo
	},
	"Pago": {		
		"Forma": "1",
		"Metodo": "11"		
	},	
	"Devengados": {		
		"Basico": {			
			"DiasTrabajados": "7",
			"SueldoTrabajado": "2800000.00"
		},
		"Transporte": [
			{				
				"AuxilioTransporte": "20000.00",
				"ViaticoManutAlojS": "50000.00",
				"ViaticoManutAlojNS": "10000.00"
			}
		],
		"HEDs": [
			{
				"Cantidad": "3",
				"Porcentaje": "100",
				"Pago": "300000.00"
			}
		],
		"HENs": [
			{	
				"Cantidad": "1",
				"Porcentaje": "100",
				"Pago": "10000.00"
			}
		],
		"HEDDFs": [
			{
				"Cantidad": "1",
				"Porcentaje": "100",
				"Pago": "5500.00"
			}
		],
		"HENDFs": [
			{
				"Cantidad": "1",
				"Porcentaje": "100",
				"Pago": "5700.00"
			}
		],
		"HRNs": [
			{
				"Cantidad": "1",
				"Porcentaje": "100",
				"Pago": "500.00"
			}
		],		
		"HRDDFs": [
			{
				"Cantidad": "1",
				"Porcentaje": "100",
				"Pago": "8500.00"
			}
		],
		"HRNDFs": [
			{
				"Cantidad": "1",
				"Porcentaje": "100",
				"Pago": "7800.00"
			}
		],		
		"Vacaciones": {			
			"VacacionesComunes": [
				{
					"Cantidad": "1",
					"Pago": "450000.00"
				}
			],
			"VacacionesCompensadas": [
				{
					"Cantidad": "1",
					"Pago": "102000.00"
				}
			]
		},
		"Primas": {			
			"Cantidad": "1",
			"Pago": "100000.00",
			"PagoNS": "50000.00"
		},
		"Cesantias": {			
			"Pago": "1500000.00",
			"Porcentaje": "100",
			"PagoIntereses": "20000.00"
		},
		"Incapacidades": [
			{
				"Cantidad": "1",
				"Tipo": "1",
				"Pago": "15000.00"
			},
			{
				"Cantidad": "1",
				"Tipo": "2",
				"Pago": "30000.00"
			}
		],
		"Licencias": {			
			"LicenciaMP": [
				{
					"Cantidad": "1",
					"Pago": "450000.00"
				}
			],
			"LicenciaR": [
				{
					"Cantidad": "1",
					"Pago": "38000.00"
				}
			],
			"LicenciaNR": [
				{
					"Cantidad": "1"
				}
			]
		},
		"Bonificaciones": [
			{
				"BonificacionS": "10000.00",
				"BonificacionNS": "3500.00"
			}
		],
		"Auxilios": [
			{
				"AuxilioS": "800.00",
				"AuxilioNS": "700.00"
			}
		],		
		"OtrosConceptos": [
			{
				"DescripcionConcepto": "Descripcion Concepto",
				"ConceptoS": "350.00",
				"ConceptoNS": "950.00"
			}
		],
		"Compensaciones": [
			{
				"CompensacionO": "9600.00",
				"CompensacionE": "7850.00"
			}
		],
		"BonoEPCTVs": [
			{
				"PagoS": "8000.00",
				"PagoNS": "650.00",
				"PagoAlimentacionS": "750.00",
				"PagoAlimentacionNS": "450.00"
			}
		],
		"Comisiones": [
			{
				"Comision": "96000.00"
			}
		],
		"PagosTerceros": [
			{
				"PagoTercero": "45000.00"
			}
		],
		"Anticipos": [
			{
				"Anticipo": "15000.00"
			}
		],
		"Dotacion": "5000.00",
		"ApoyoSost": "20000.00",
		"Teletrabajo": "95000.00",
		"BonifRetiro": "75000.00",
		"Indemnizacion": "80000.00",
		"Reintegro": "15000.00"
	},
	"Deducciones": {		
		"Salud": {			
			"Porcentaje": "1.00",
			"Deduccion": "35000.00"
		},
		"FondoPension": {			
			"Porcentaje": "1.00",
			"Deduccion": "510000.00"
		},
		"FondoSP": {			
			"Porcentaje": "1.00",
			"Deduccion": "24900.00",
			"PorcentajeSub": "1.00",
			"DeduccionSub": "96300.00"
		},
		"Sindicatos": [
			{
				"Porcentaje": "1.00",
				"Deduccion": "127500.00"
			}
		],
		"Sanciones": [
			{
				"SancionPublic": "7000.00",
				"SancionPriv": "9000.00"
			}
		],
		"Libranzas": [
			{
				"Descripcion": "Banco",
				"Deduccion": "780000.00"
			}
		],
		"PagosTerceros": [
			{
				"PagoTercero": "10000.00"
			}
		],
		"Anticipos": [
			{
				"Anticipo": "85000.00"
			}
		],
		"OtrasDeducciones": [
			{
				"OtraDeduccion": "96300.00"
			}
		],
		"PensionVoluntaria": "500000.00",
		"RetencionFuente": "500.00",
		"AFC": "2800.00",
		"Cooperativa": "350.00",
		"EmbargoFiscal": "450320.00",
		"PlanComplementarios": "510.00",
		"Educacion": "35820.00",
		"Reintegro": "9850.00",
		"Deuda": "23450.00"
	},
	"DevengadosTotal": "4999850.00",
	"DeduccionesTotal": "2793300.00",
	"ComprobanteTotal": "2206550.00",
	"CorrelationDocumentId": "POSTMAN-{{$timestamp}}" // Codigo unico generado por la plataforma de nomina.
}

Términos importantes

A continuación, se describen las secciones clave del mensaje JSON para una Factura Electrónica de Venta:

  • A nivel global de la factura: Contiene información general como número consecutivo, fecha de emisión, forma y medio de pago, valor total, impuestos y descuentos globales, entre otros.

  • A nivel de línea: Describe los productos o servicios facturados, con sus respectivos valores unitarios, cantidades, descuentos, impuestos, retenciones, etc.

  • Emisor: Información completa de la persona natural o jurídica que emite la factura.

  • Adquiriente: Datos de identificación del receptor del documento (cliente o comprador).

Respuesta#

{
    "IsValid": true,
    "Warnings": [],
    "Errors": [],
    "ResultData": "3defae87-a553-488f-97d3-03de48433ea4",
    "ResultCode": 200
}
{
    "IsValid": false,
    "Warnings": [],
    "Errors": [
        {
            "Field": null,
            "Code": "DeserializationError",
            "Description": "Invalid property identifier character: [. Path '', line 2, position 1.",
            "ExplanationValues": []
        }
    ],
    "ResultData": null,
    "ResultCode": 400
}

Referencia: Swagger#

Para obtener más información, puedes consultar la documentación del API de SOVOS Saphety en Swagger. A continuación, se indican los enlaces según el ambiente: