Skip to content

Comprobantes MiPyme

Introducción

ARCA tiene una lista de grandes contribuyentes a los cuales cuando, se les vende por encima de un cierto monto, es necesario enviarles documentos MiPyme.

Dado que la lista de contribuyentes y el monto limite exacto varian constantemente, no existe una forma fiable de saber cuando hay que emitir un comprobante normal y cuando debe ser uno MiPyme.

Por tanto, se recomienda implementar el siguiente procedimiento:

  1. Intentar autorizar una solicitud de comprobante normal
  2. Si la autorización falla, determinar si la causa fue la necesidad de enviar un comprobante MiPyme.
  3. Preparar la nueva solicitud de comprobante MiPyme e intentar autorizar de nuevo.

Como detectar si es necesario enviar una solicitud de comprobante MiPyme

La forma mas sencilla de determinar si la solicitud de comprobante fue rechazado por no ser MiPyme, es verificar si el string "27.440" aparece dentro del mensaje de error recibido, ejemplo:

1
2
3
4
5
6
7
8
9
LOCAL oResp
oResp = FEAr.Autorizar(oSolicitud)
IF NOT oResp.result
  IF AT("27.440", oResp.errorMsg) > 0
     * SE REQUIERE DOCUMENTO MIPYME
  ELSE
     THROW oResp.errorMsg
  ENDIF
ENDIF
fearRespuesta resp = FEAr.Autorizar(solicitud);
if (!resp.result) {
    if (oResp.errorMsg.indexOf("27.440") >= 0) {
        // SE REQUIERE DOCUMENTO MIPYME
    } else {
        throw new Exception(resp.errorMsg);
    }
}
fearRespuestaAutorizar data = (fearRespuestaAutorizar)resp.data;
Console.WriteLine("CAE: " + data.CAE);

Generando una solicitud de comprobante MiPyme

Para convertir una solicitud de comprobante normal en una solicitud MiPyme, se deben realizar los siguientes pasos segun el tipo de comprobante a solicitar:

Facturas

Si el comprobante es una factura (tipos 1, 6 u 11), se debe agregar los siguientes valores a la solicitud:

  • Agregar 200 al valor de CbteTipo (ej, si su solicitud original era por 1-Factura A, ahora seria 201-Factura de Crédito Electrónica MiPyMEs (FCE) A)
  • Agregar el opcional 2101 con el valor de CBU
  • Agregar el opcional 27 con el modo de transferencia (ADC o SCA).
  • Asignar valor a la propiedad fchVtoPago

Ejemplo:

1
2
3
4
5
6
WITH oSolicitud
  .CbteTipo = .CbteTipo + 200
  .fchVtoPago = dFechaPago
  .addOpcional("2101", cCBU)
  .addOpcional("27", "ADC")
ENDWITH
1
2
3
4
oSolicitud.CbteTipo += 200;
oSolicitud.fchVtoPago = fechaPago;
oSolicitud.addOpcional("21091", CBU);
oSolicitud.addOpcional("27", "ADC");

Notas de crédito

Si el comprobante es una NC (tipos 3, 8 o 13), se debe agregar los siguientes valores a la solicitud:

  • Agregar 200 al valor de CbteTipo (ej, si su solicitud original era por 8-Nota de credito B, ahora seria 208-Nota de Crédito Electrónica MiPyMEs (FCE) B)
  • Agregar el opcional 22 con el motivo de la NC ("S" para anulacion, "N" en caso contrario)

Ejemplo:

1
2
3
4
WITH oSolicitud
  .CbteTipo = .CbteTipo + 200
  .addOpcional("22","S")
ENDWITH
oSolicitud.CbteTipo += 200;
oSolicitud.addOpcional("22", "S");

Importante

Los valores para CBU, fecha de pago, método de transferencia y/o motivo de NC deben ser indicados por el usuario final, por lo que al detectarse la necesidad de emitir una solicitud de comprobante MiPyme estos valores deben ser requeridos al usuario antes de continuar con la autorización de la solicitud.

Vea tambien