1. Generación
Documentación Integración habbiles
  • Generación
    • Generación Factura Electrónica
      POST
    • Generación Nomina
      POST
    • Generación Documento Equivalente POS (Archivo)
      POST
    • Generación Documento Equivalente POS (Body)
      POST
    • Generación Documento Soporte
      POST
    • Generación Nota Documento Soporte
      POST
  • Habilitación
    • Habilitación Documento Equivalente POS
      POST
    • Habilitación Factura Electrónica
      POST
    • Habilitación Nomina
      POST
  • Obtener Numeración
    GET
  • Guardar Numeración
    POST
  • Obtener Recepciones
    GET
  • registrar transacciones por fecha
    GET
  • Schemas
    • Petición Generación FE, NC, ND
    • Response General
    • NominaElectronica
    • Nómina de Eliminación
    • Nómina de Ajuste
    • GetNumeracion
    • Documentos Recibidos
    • Response POS
    • Petición POS Body
    • Documento Equivalente POS (estructura ERP)
    • CompanyRegistrationRequest
    • CompanyRegistrationResponse
    • ApiKeyCreateRequest
    • ApiKeyCreatedResponse
    • ApiKeyResponse
    • ApiKeyPage
    • ApiKeyRotateRequest
    • ApiKeyRevokeRequest
    • ErrorResponse
    • Petición Documento Soporte
  1. Generación

Generación Nota Documento Soporte

Desarrollando
POST
http://localhost:9092/arqGeneratorDSController/v1/process-adjustment-note
Última modificación:2026-09-16 15:04:13

Emisión de Nota de Ajuste al Documento Soporte#

1. Descripción#

Emite una nota de ajuste sobre un documento soporte ya emitido y aceptado por la DIAN, y la
transmite en una sola llamada.
Se envía en formato JSON la referencia al documento que se corrige y el concepto de la corrección.
El servicio tiene dos comportamientos según lo que se informe:
Con Lines: se emite el ajuste con el detalle enviado (devoluciones parciales, rebajas,
correcciones de precio).
Sin Lines: se anula el documento referenciado con su mismo detalle —incluidos sus impuestos
y retenciones—. Es la forma más corta de anular: basta la referencia.
Como en el documento soporte, si no se envía la numeración se toma la resolución de notas vigente
registrada para la empresa y se asigna el siguiente consecutivo disponible.

2. Método y ruta#

POST /arqGeneratorDSController/v1/process-adjustment-note
Content-Type: application/json

3. Headers#

HeaderObligatorioDescripción
x-api-keySíLlave de integración entregada a la empresa.
x-company-idSíIdentificador de la empresa que emite la nota.
Content-TypeSíapplication/json

4. Tipo de documento#

No se envía: la ruta emite siempre nota de ajuste al documento soporte, con su propia numeración.

5. Body#

5.1 Nivel documento#

CampoTipoObligatorioDescripción
DocumentReferencesobjeto[]SíDocumento soporte que se corrige.
CorrectionConceptCodestringNoConcepto de corrección de la DIAN. Por defecto 2 (anulación).
CorrectionConceptstringNoDescripción del concepto. Por defecto Se anula documento.
CurrencystringNoSolo se admite COP.
SeriePrefixstringNoPrefijo de la resolución de notas. Si no se envía se usa la vigente de la empresa.
SerieNumberstringNoNúmero de la nota. Si no se envía se asigna el siguiente consecutivo.
IssueDatestringNoFecha de la nota. Se emite con la fecha del día.
Notesstring[]NoObservaciones de la nota.
PaymentMeansobjeto[]NoForma y medio de pago.
SupplierPartyobjetoCondicionalProveedor no obligado a facturar. Obligatorio cuando se envían Lines.
Linesobjeto[]NoDetalle de la nota. Si no se envía se anula el documento referenciado.
TaxSubTotals / TaxTotalsobjeto[]NoIVA de la nota.
WithholdingTaxTotalsobjeto[]NoRetenciones de la nota.
TotalobjetoCondicionalTotales de la nota. Obligatorio cuando se envían Lines.

5.2 DocumentReferences#

CampoTipoObligatorioDescripción
DocumentReferredstringCondicionalPrefijo y número del documento soporte corregido (por ejemplo SEDS984100450).
DocumentReferredCUFEstringCondicionalCUDS del documento soporte corregido.
IssueDatestringNoFecha de emisión del documento corregido. Si no se envía se toma la registrada.
Se requiere al menos uno de los dos identificadores. El documento referenciado debe existir para
la empresa y haber sido aceptado por la DIAN; si no, se devuelve error.

5.3 SupplierParty, Lines, impuestos y Total#

Se informan exactamente igual que en el documento soporte, incluidas las reglas de IVA, ReteIVA y
ReteRenta. Ver la documentación del documento soporte — secciones
5.2 a 5.6.

5.4 Ejemplo: anulación#

{
  "Currency": "COP",
  "IssueDate": "2026-08-04T10:30:00",
  "CorrectionConceptCode": "2",
  "CorrectionConcept": "Se anula documento",
  "DocumentReferences": [
    {
      "DocumentReferred": "SEDS984100450",
      "IssueDate": "2026-08-04"
    }
  ]
}

5.5 Ejemplo: ajuste parcial con IVA y retenciones#

{
  "Currency": "COP",
  "SeriePrefix": "SENS",
  "IssueDate": "2026-08-04T10:30:00",
  "CorrectionConceptCode": "4",
  "CorrectionConcept": "Ajuste de precio",
  "DocumentReferences": [
    {
      "DocumentReferred": "SEDS984100450",
      "DocumentReferredCUFE": "6ac30395c03826db09c8cdb2e9658626cc8fab34b27c44edaf9cdbe8dc465d3d",
      "IssueDate": "2026-08-04"
    }
  ],
  "SupplierParty": {
    "LegalType": "Legal",
    "TaxScheme": "01",
    "ResponsabilityTypes": ["R-99-PN"],
    "Identification": {
      "DocumentNumber": "1006017896",
      "DocumentType": "NIT",
      "CountryCode": "CO",
      "CheckDigit": "1"
    },
    "Name": "OFUS NAME",
    "Address": {
      "DepartmentCode": "76",
      "CityCode": "76520",
      "AddressLine": "CL 5 # 12 - 34",
      "Country": "CO",
      "PostalCode": "765200"
    }
  },
  "Lines": [
    {
      "Number": "1",
      "Quantity": "1",
      "QuantityUnitOfMeasure": "94",
      "OperationType": "1",
      "PeriodStartDate": "2026-08-04",
      "UnitPrice": "100000.00",
      "NetAmount": "100000.00",
      "TaxSubTotals": [
        {
          "TaxCategory": "01",
          "TaxPercentage": "19.00",
          "TaxableAmount": "100000.00",
          "TaxAmount": "19000.00"
        }
      ],
      "WithholdingTaxSubTotals": [
        { "TaxCategory": "05", "TaxPercentage": "15.00" },
        { "TaxCategory": "06", "TaxPercentage": "2.50" }
      ],
      "Item": { "Gtin": "2002", "Description": "Servicio ajustado" }
    }
  ],
  "TaxTotals": [{ "TaxCategory": "01", "TaxAmount": "19000.00" }],
  "Total": {
    "TaxableAmount": "100000.00",
    "TaxAmount": "19000.00",
    "WithholdingTaxAmount": "5350.00",
    "PayableAmount": "119000.00"
  }
}

6. Respuesta#

Idéntica a la del documento soporte:
CampoTipoDescripción
Errorsstring[]Motivos por los que la nota no se emitió o fue rechazada por la DIAN.
IsValidbooleantrue cuando la nota fue emitida y aceptada por la DIAN.
ResultCodenumberResultado del procesamiento.
Warningstring[]Notificaciones que no impiden la emisión.
ResultDatastringMensaje del resultado.
Nota: la respuesta HTTP es 200 en todos los casos de negocio. El resultado real se lee en
ResultCode e IsValid.

7. Códigos de resultado#

ResultCodeHTTPIsValidSignificado
200200trueNota emitida y aceptada por la DIAN.
200200falseNota emitida pero rechazada por la DIAN. El detalle viaja en Errors.
400200falseLos datos enviados no permiten emitir la nota (referencia inexistente o no aceptada, estructura, totales o numeración).
401200falseLa llave de integración no corresponde a la empresa.
500500falseError inesperado durante el procesamiento.

8. Ejemplos de respuesta#

8.1 Anulación emitida#

{
  "Errors": [],
  "IsValid": true,
  "ResultCode": 200,
  "Warning": [
    "No se informaron Lines: se emite la anulación del documento SEDS984100450 con su mismo detalle."
  ],
  "ResultData": "Procesado Correctamente."
}

8.2 Ajuste emitido#

{
  "Errors": [],
  "IsValid": true,
  "ResultCode": 200,
  "Warning": [],
  "ResultData": "Procesado Correctamente."
}

8.3 Documento referenciado inexistente#

{
  "Errors": [
    "No se encontró el documento soporte referenciado (SEDS000000000) para esta empresa."
  ],
  "IsValid": false,
  "ResultCode": 400,
  "Warning": [],
  "ResultData": "No se encontró el documento soporte referenciado (SEDS000000000) para esta empresa."
}

8.4 Sin referencia#

{
  "Errors": [
    "DocumentReferences es obligatorio: identifica el documento soporte que se corrige."
  ],
  "IsValid": false,
  "ResultCode": 400,
  "Warning": [],
  "ResultData": "DocumentReferences es obligatorio: identifica el documento soporte que se corrige."
}

Solicitud

Parámetros de Header

Parámetros del Body application/jsonRequerido

Ejemplos

Respuestas

🟢200Éxito
application/json
Bodyapplication/json

Solicitud Ejemplo de Solicitud
Shell
JavaScript
Java
Swift
curl --location 'http://localhost:9092/arqGeneratorDSController/v1/process-adjustment-note' \
--header 'x-company-id: 2' \
--header 'x-api-key: 1111-11111-1111-1212121212' \
--header 'Content-Type: application/json' \
--data '{
  "Currency": "COP",
  "IssueDate": "2026-08-04T10:30:00",
  "SeriePrefix": "SENS",
  "CorrectionConceptCode": "3",
  "DocumentReferences": [
    {
      "DocumentReferred": "SEDS984100434",
      "IssueDate": "2026-08-04"
    }
  ],
  "Lines": [
    {
      "Number": "1",
      "Quantity": "1",
      "QuantityUnitOfMeasure": "94",
      "OperationType": "1",
      "PeriodStartDate": "2026-08-04",
      "UnitPrice": "20000.00",
      "NetAmount": "20000.00",
      "Item": {
        "Gtin": "1019",
        "Description": "Producto"
      }
    }
  ],
  "Total": {
    "TaxableAmount": "20000.00",
    "PayableAmount": "20000.00"
  }
}'
Respuesta Ejemplo de Respuesta
{"Errors":["Error general no controlado."],"IsValid":false,"ResultCode":500,"Warning":["No se informaron Lines: se emite la anulación del documento SEDS984100432 con su mismo detalle."],"ResultData":"Error general no controlado."}
Modificado en 2026-09-16 15:04:13
Anterior
Generación Documento Soporte
Siguiente
Habilitación Documento Equivalente POS
Built with