Errores de facturas

Errores producidos durante la validación de facturas.

CódigoSlugMensajeDescripción
AL_PER_INVS_001DETRACTION_REQUIRED_FOR_OPERATION_TYPEThe field 'detraction' is required for the given operation typeOcurre 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_002DETRACTION_NOT_ALLOWED_FOR_OPERATION_TYPEThe field 'detraction' is not allowed for the given operation typeOcurre 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_003IGV_TYPE_MUST_BE_EXPORT_FOR_EXPORT_OPERATIONThe field 'itemDetails[].taxes.igv.type' must be the export IGV type when the operation is export of goodsOcurre 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_004IGV_TYPE_CANNOT_BE_EXPORT_FOR_NON_EXPORT_OPERATIONThe field 'itemDetails[].taxes.igv.type' cannot be the export IGV type for non-export operationsOcurre 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_005INSTALLMENTS_REQUIRED_FOR_CREDIT_PAYMENTThe field 'payment.installments' is required when payment type is creditOcurre cuando el tipo de pago es al crédito (payment.type = "credit") y no se proporcionaron las cuotas en payment.installments.
AL_PER_INVS_006INSTALLMENTS_NOT_ALLOWED_FOR_NON_CREDIT_PAYMENTThe field 'payment.installments' is not allowed when payment type is not creditOcurre cuando el tipo de pago no es al crédito y se proporcionaron cuotas en payment.installments.
AL_PER_INVS_007PERCEPTION_REQUIRED_FOR_OPERATION_TYPEThe field 'perception' is required for the given operation typeOcurre 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_008PAYMENT_MUST_BE_CASH_FOR_PERCEPTIONThe field 'payment.type' must be cash when the operation is subject to perceptionOcurre 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_009PERCEPTION_NOT_ALLOWED_FOR_OPERATION_TYPEThe field 'perception' is not allowed for the given operation typeOcurre 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_010CUSTOMER_REQUIRED_WHEN_TOTAL_EXCEEDS_MINIMUMThe field 'customer' is required when the total amount equals or exceeds 700Ocurre cuando el monto total del comprobante (totals.totalAmount) es igual o superior a 700 y no se proporcionó el campo customer.
AL_PER_INVS_011REASON_CODE_NOT_VALID_FOR_CHARGEThe field 'reasonCode' is not a valid global charge codeOcurre cuando isCharge es true y el valor de reasonCode no corresponde a un código de cargo global válido.
AL_PER_INVS_012REASON_CODE_NOT_VALID_FOR_DISCOUNTThe field 'reasonCode' is not a valid global discount codeOcurre cuando isCharge es false y el valor de reasonCode no corresponde a un código de descuento global válido.
AL_PER_INVS_014PAYMENT_TOTAL_AMOUNT_REQUIRED_FOR_CREDIT_WITH_RUCThe field 'payment.totalAmount' is required when payment type is credit and the customer has RUCOcurre 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_015PAYMENT_INSTALLMENTS_SUM_MISMATCHThe 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_016PAYMENT_TOTAL_AMOUNT_EXCEEDS_INVOICE_TOTALThe 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_017SERVICE_COUNTRY_CODE_REQUIRED_FOR_EXPORT_SERVICESThe field 'customer.serviceCountryCode' is required when the operation is export of servicesOcurre 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_018SERVICE_COUNTRY_CODE_MUST_BE_VALID_COUNTRYThe field 'customer.serviceCountryCode' must be a valid ISO 3166-1 Alpha-2 country code, excluding PEOcurre 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_019SERVICE_COUNTRY_CODE_NOT_ALLOWED_FOR_NON_EXPORT_SERVICESThe field 'customer.serviceCountryCode' is not allowed when the operation is not export of servicesOcurre 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_020IDENTIFICATION_TYPE_NOT_ALLOWED_FOR_EXPORT_SERVICESThe field 'customer.identificationType' is not valid for export of services operationsOcurre 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_021RENT_RETENTION_REQUIRED_FOR_OPERATION_TYPEThe 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_022RENT_RETENTION_NOT_ALLOWED_FOR_OPERATION_TYPEThe 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_023IGV_RETENTION_NOT_ALLOWED_FOR_NON_RUC_CUSTOMERThe field 'retention.igvRetention' is not allowed when 'customer.identificationType' is not RUCOcurre cuando el receptor no tiene RUC (customer.identificationType distinto de "6") y se proporcionó el campo retention.igvRetention.
AL_PER_INVS_024IGV_RETENTION_AMOUNT_MISMATCHThe 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_025IGV_RETENTION_BASE_AMOUNT_EXCEEDS_TOTALThe 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_026PREPAID_PAYMENTS_REQUIRED_FOR_REASON_CODEThe 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_027PREPAID_PAYMENTS_NOT_ALLOWED_FOR_REASON_CODEThe 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_028PREPAID_PAYMENTS_SUM_MISMATCHThe 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_029PREPAID_PAYMENT_SERIES_FORMAT_INVALIDThe field 'prepaidPayments[].series' does not match a valid series formatOcurre 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_030PREPAID_AMOUNT_REQUIRED_WITH_PREPAID_PAYMENTSThe field 'totals.prepaidAmount' is required when 'prepaidPayments' is providedOcurre cuando se envía prepaidPayments y no se proporcionó el campo totals.prepaidAmount.
AL_PER_INVS_031PREPAID_AMOUNT_NOT_ALLOWED_WITHOUT_PREPAID_PAYMENTSThe field 'totals.prepaidAmount' is not allowed unless 'prepaidPayments' is providedOcurre cuando se envía totals.prepaidAmount y no se proporcionó el campo prepaidPayments.
AL_PER_INVS_032ADJUSTMENT_AMOUNT_FACTOR_MISMATCHThe 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_033REASON_CODE_NOT_VALID_FOR_GLOBAL_ADJUSTMENTThe field 'reasonCode' is not a valid global charge or discount codeOcurre 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.