El array de tributos debe especificarse en el campo "Tributos" dentro de la estructura de datos al crear una factura, nota de crédito o débito. Cada tributo se define como un objeto con campos como Id, Desc, BaseImp, Alic e Importe. Ejemplo y explicación están disponibles en la documentación oficial y ejemplos de código de Afip SDK, tanto en la documentación paso a paso como en los ejemplos de PHP y Javascript.
Además, en la comunidad Afip SDK se confirma que las percepciones e impuestos internos también se informan en el array "Tributos", y puedes consultar los tipos de tributos disponibles en la documentación oficial. ¿Te gustaría ver un ejemplo concreto de cómo armar el array de tributos en tu código?
Sources:
@user hay informacion deferente al manejo de la propina o costo de envio en este server?
Mi entendimiento es que no hay información específica en la documentación oficial de Afip SDK sobre el manejo de propinas. Respecto al costo de envío, se menciona en la comunidad que si el envío lo factura la misma empresa, debe incluirse con IVA, pero la alícuota depende del tipo de servicio y puede requerir consulta con un contador. No se detalla un tratamiento especial para propinas ni para envíos fuera de lo mencionado.
¿Te gustaría que te muestre cómo incluir el costo de envío en la estructura de la factura según los ejemplos disponibles?
Sources:
si
Parece que para incluir el costo de envío en la factura, simplemente debes sumarlo al importe gravado y asignarle la alícuota de IVA correspondiente, igual que cualquier otro producto o servicio. Si el envío tiene IVA 21%, lo agregas como parte del "ImpNeto" y lo reflejas en el array "Iva" con el Id adecuado. Si el envío no tiene IVA, lo puedes poner en "ImpOpEx" (exento) o "ImpTotConc" (no gravado), según corresponda. No hay un campo especial para propinas ni para envíos, solo debes calcular los importes antes de enviar la factura.
Por ejemplo, si el envío es gravado al 21%, el array de IVA incluiría una línea adicional con el importe base y el IVA del envío. Si es exento, solo lo sumas en el campo correspondiente. Así lo indican los intercambios en la comunidad y los ejemplos de la documentación. ¿Te gustaría ver un ejemplo de código con estos campos?
Sources:
si
Aquí tienes un ejemplo en PHP de cómo incluir el costo de envío gravado al 21% en la factura, sumándolo al importe neto y reflejando el IVA correspondiente en el array "Iva":
$data = array(
'CantReg' => 1,
'PtoVta' => 1,
'CbteTipo' => 6,
'Concepto' => 1,
'DocTipo' => 99,
'DocNro' => 0,
'CbteDesde' => 1,
'CbteHasta' => 1,
'CbteFch' => intval(date('Ymd')),
'ImpTotal' => 242, // 100 producto + 100 envío + 42 IVA
'ImpTotConc' => 0,
'ImpNeto' => 200, // 100 producto + 100 envío
'ImpOpEx' => 0,
'ImpIVA' => 42, // 21% de 200
'ImpTrib' => 0,
'MonId' => 'PES',
'MonCotiz' => 1,
'CondicionIVAReceptorId' => 5,
'Iva' => array(
array(
'Id' => 5, // 21%
'BaseImp' => 200,
'Importe' => 42
)
),
);
$res = $afip->ElectronicBilling->CreateVoucher($data);
Así, el costo de envío se suma al neto y se calcula el IVA sobre el total. Si el envío es exento, pon el importe en "ImpOpEx" y omite la línea en "Iva". Más detalles en los ejemplos oficiales y en la comunidad.
Sources: