Errores de facturas
Errores producidos durante la validación de facturas.
| Código | Slug | Mensaje | Descripción |
|---|---|---|---|
AL_PER_INVS_001 | DETRACTION_REQUIRED_FOR_OPERATION_TYPE | The field 'detraction' is required for the given operation type | Ocurre cuando el tipo de operación indicado en information.profileId está sujeto a detracción y el campo detraction no fue proporcionado. |
AL_PER_INVS_002 | DETRACTION_NOT_ALLOWED_FOR_OPERATION_TYPE | The field 'detraction' is not allowed for the given operation type | Ocurre cuando el tipo de operación indicado en information.profileId no está sujeto a detracción y el campo detraction fue proporcionado. |
AL_PER_INVS_003 | IGV_TYPE_MUST_BE_EXPORT_FOR_EXPORT_OPERATION | The field 'itemDetails[].taxes.igv.type' must be the export IGV type when the operation is export of goods | Ocurre cuando el tipo de operación es exportación de bienes (information.profileId = 0201) y algún ítem tiene un tipo de IGV distinto al de exportación (40). |
AL_PER_INVS_004 | IGV_TYPE_CANNOT_BE_EXPORT_FOR_NON_EXPORT_OPERATION | The field 'itemDetails[].taxes.igv.type' cannot be the export IGV type for non-export operations | Ocurre cuando el tipo de operación no es exportación de bienes y algún ítem tiene el tipo de IGV de exportación (40). |
AL_PER_INVS_005 | INSTALLMENTS_REQUIRED_FOR_CREDIT_PAYMENT | The field 'payment.installments' is required when payment type is credit | Ocurre cuando el tipo de pago es al crédito (payment.type = "credit") y no se proporcionaron las cuotas en payment.installments. |
AL_PER_INVS_006 | INSTALLMENTS_NOT_ALLOWED_FOR_NON_CREDIT_PAYMENT | The field 'payment.installments' is not allowed when payment type is not credit | Ocurre cuando el tipo de pago no es al crédito y se proporcionaron cuotas en payment.installments. |
AL_PER_INVS_007 | PERCEPTION_REQUIRED_FOR_OPERATION_TYPE | The field 'perception' is required for the given operation type | Ocurre cuando el tipo de operación indicado en information.profileId está sujeto a percepción y el campo perception no fue proporcionado. |
AL_PER_INVS_008 | PAYMENT_MUST_BE_CASH_FOR_PERCEPTION | The field 'payment.type' must be cash when the operation is subject to perception | Ocurre cuando el tipo de operación está sujeto a percepción y el tipo de pago en payment.type no es al contado. |
AL_PER_INVS_009 | PERCEPTION_NOT_ALLOWED_FOR_OPERATION_TYPE | The field 'perception' is not allowed for the given operation type | Ocurre cuando el tipo de operación indicado en information.profileId no está sujeto a percepción y el campo perception fue proporcionado. |
AL_PER_INVS_010 | CUSTOMER_REQUIRED_WHEN_TOTAL_EXCEEDS_MINIMUM | The field 'customer' is required when the total amount equals or exceeds 700 | Ocurre cuando el monto total del comprobante (totals.totalAmount) es igual o superior a 700 y no se proporcionó el campo customer. |
AL_PER_INVS_011 | REASON_CODE_NOT_VALID_FOR_CHARGE | The field 'reasonCode' is not a valid global charge code | Ocurre cuando isCharge es true y el valor de reasonCode no corresponde a un código de cargo global válido. |
AL_PER_INVS_012 | REASON_CODE_NOT_VALID_FOR_DISCOUNT | The field 'reasonCode' is not a valid global discount code | Ocurre cuando isCharge es false y el valor de reasonCode no corresponde a un código de descuento global válido. |
AL_PER_INVS_014 | PAYMENT_TOTAL_AMOUNT_REQUIRED_FOR_CREDIT_WITH_RUC | The field 'payment.totalAmount' is required when payment type is credit and the customer has RUC | Ocurre cuando el tipo de pago es al crédito (payment.type = "2") y el receptor tiene RUC (customer.identificationType = "6"), pero no se proporcionó el campo payment.totalAmount. |
AL_PER_INVS_015 | PAYMENT_INSTALLMENTS_SUM_MISMATCH | The sum of 'payment.installments[].amount' must equal 'payment.totalAmount' (±0.01) | Ocurre cuando la suma de los importes de las cuotas en payment.installments no coincide con payment.totalAmount, con una tolerancia de ±0.01. |
AL_PER_INVS_016 | PAYMENT_TOTAL_AMOUNT_EXCEEDS_INVOICE_TOTAL | The field 'payment.totalAmount' cannot be greater than 'totals.totalAmount' | Ocurre cuando el monto neto pendiente de pago (payment.totalAmount) supera el importe total del comprobante (totals.totalAmount). |
AL_PER_INVS_017 | SERVICE_COUNTRY_CODE_REQUIRED_FOR_EXPORT_SERVICES | The field 'customer.serviceCountryCode' is required when the operation is export of services | Ocurre cuando el tipo de operación es exportación de servicios (information.profileId = 0201 o 0208) y el campo customer.serviceCountryCode no fue proporcionado. |
AL_PER_INVS_018 | SERVICE_COUNTRY_CODE_MUST_BE_VALID_COUNTRY | The field 'customer.serviceCountryCode' must be a valid ISO 3166-1 Alpha-2 country code, excluding PE | Ocurre cuando el valor de customer.serviceCountryCode no corresponde a un código de país válido del Catálogo N.° 04 (ISO 3166-1 Alpha-2), o cuando el valor es PE (Perú), que no está permitido en operaciones de exportación de servicios. |
AL_PER_INVS_019 | SERVICE_COUNTRY_CODE_NOT_ALLOWED_FOR_NON_EXPORT_SERVICES | The field 'customer.serviceCountryCode' is not allowed when the operation is not export of services | Ocurre cuando se proporciona customer.serviceCountryCode pero el tipo de operación (information.profileId) no es exportación de servicios (0201 o 0208). |
AL_PER_INVS_020 | IDENTIFICATION_TYPE_NOT_ALLOWED_FOR_EXPORT_SERVICES | The field 'customer.identificationType' is not valid for export of services operations | Ocurre cuando el tipo de operación es exportación de servicios (information.profileId = 0201 o 0208) y customer.identificationType no es uno de los valores permitidos: 0, 4, 7, A, B o -. |
AL_PER_INVS_021 | RENT_RETENTION_REQUIRED_FOR_OPERATION_TYPE | The field 'retention.rentRetention' is required when 'information.profileId' is '2002' | Ocurre cuando el tipo de operación indicado en information.profileId es 2002 (retención de renta de segunda categoría) y no se proporcionó el campo retention.rentRetention. |
AL_PER_INVS_022 | RENT_RETENTION_NOT_ALLOWED_FOR_OPERATION_TYPE | The field 'retention.rentRetention' is not allowed when 'information.profileId' is not '2002' | Ocurre cuando el tipo de operación indicado en information.profileId no es 2002 y se proporcionó el campo retention.rentRetention. |
AL_PER_INVS_023 | IGV_RETENTION_NOT_ALLOWED_FOR_NON_RUC_CUSTOMER | The field 'retention.igvRetention' is not allowed when 'customer.identificationType' is not RUC | Ocurre cuando el receptor no tiene RUC (customer.identificationType distinto de "6") y se proporcionó el campo retention.igvRetention. |
AL_PER_INVS_024 | IGV_RETENTION_AMOUNT_MISMATCH | The field 'retention.igvRetention.amount' must equal 'retention.igvRetention.baseAmount' × 'retention.igvRetention.factor' | Ocurre cuando el importe retenido (retention.igvRetention.amount) no coincide exactamente con el resultado de multiplicar retention.igvRetention.baseAmount por retention.igvRetention.factor. |
AL_PER_INVS_025 | IGV_RETENTION_BASE_AMOUNT_EXCEEDS_TOTAL | The field 'retention.igvRetention.baseAmount' cannot be greater than 'totals.totalAmount' | Ocurre cuando la base imponible de la retención del IGV (retention.igvRetention.baseAmount) supera el importe total del comprobante (totals.totalAmount). |
AL_PER_INVS_026 | PREPAID_PAYMENTS_REQUIRED_FOR_REASON_CODE | The field 'prepaidPayments' is required when 'adjustment.reasonCode' is '04', '05' or '06' | Ocurre cuando adjustment.reasonCode corresponde a un código de anticipo (04 gravado, 05 exonerado, 06 inafecto) y no se proporcionó el campo prepaidPayments. |
AL_PER_INVS_027 | PREPAID_PAYMENTS_NOT_ALLOWED_FOR_REASON_CODE | The field 'prepaidPayments' is not allowed unless 'adjustment.reasonCode' is '04', '05' or '06' | Ocurre cuando se envía prepaidPayments y adjustment.reasonCode no corresponde a un código de anticipo (04 gravado, 05 exonerado, 06 inafecto), o adjustment no fue proporcionado. |
AL_PER_INVS_028 | PREPAID_PAYMENTS_SUM_MISMATCH | The sum of 'prepaidPayments[].paidAmount' must equal 'totals.prepaidAmount' (±0.01) | Ocurre cuando la suma de los importes de prepaidPayments[].paidAmount no coincide con totals.prepaidAmount, con una tolerancia de ±0.01. |
AL_PER_INVS_029 | PREPAID_PAYMENT_SERIES_FORMAT_INVALID | The field 'prepaidPayments[].series' does not match a valid series format | Ocurre cuando prepaidPayments[].series no cumple ninguno de los formatos válidos: electrónico (F/B/E + 3 caracteres alfanuméricos) o legado numérico (1 a 4 dígitos). |
AL_PER_INVS_030 | PREPAID_AMOUNT_REQUIRED_WITH_PREPAID_PAYMENTS | The field 'totals.prepaidAmount' is required when 'prepaidPayments' is provided | Ocurre cuando se envía prepaidPayments y no se proporcionó el campo totals.prepaidAmount. |
AL_PER_INVS_031 | PREPAID_AMOUNT_NOT_ALLOWED_WITHOUT_PREPAID_PAYMENTS | The field 'totals.prepaidAmount' is not allowed unless 'prepaidPayments' is provided | Ocurre cuando se envía totals.prepaidAmount y no se proporcionó el campo prepaidPayments. |
AL_PER_INVS_032 | ADJUSTMENT_AMOUNT_FACTOR_MISMATCH | The field 'adjustment.amount' must equal 'adjustment.baseAmount' × 'adjustment.factor' | Ocurre cuando se envían adjustment.factor y adjustment.baseAmount, y adjustment.amount no coincide con el resultado de multiplicarlos. |
AL_PER_INVS_033 | REASON_CODE_NOT_VALID_FOR_GLOBAL_ADJUSTMENT | The field 'reasonCode' is not a valid global charge or discount code | Ocurre cuando adjustment.reasonCode no corresponde a ningún código del catálogo de cargos y descuentos globales — incluye los códigos 04, 05 y 06, reservados para la generación automática de anticipos a partir de prepaidPayments. |
Updated 12 days ago
