# Construir Draft SAP B1
```mermaid
flowchart TD
A["factura + resultados_val"] --> B["Determinar ItemCode
C103002-A (mes anterior)
C103002 (mes actual)"]
B --> C["Calcular cuotas
DocumentInstallments"]
C --> D{"¿Tiene detracción?"}
D -->|Sí| E["Cuota 1: monto detracción
U_VS_TIPOCUOTA = D"]
E --> F["Cuota 2: neto = total - detracción
U_VS_TIPOCUOTA = N"]
D -->|No| G["Cuota única por el total
U_VS_TIPOCUOTA = N"]
F --> H["Por cada línea de factura"]
G --> H
H --> I["Obtener guias_lt[]
desde resultado_validacion"]
I --> J["zona_guia = guias_lt[0]['zona']"]
J --> K["Por cada item en guias_lt[]"]
K --> L["PriceAfterVAT:
suma pav FL* si use_sap_prices
line_total si no"]
L --> M["Qty = item['quantity']"]
M --> N["Crear DocumentLine:
ItemCode, Quantity,
PriceAfterVAT, WarehouseCode,
U_IDC_GRFLETE"]
N --> O["Acumular total_weight
+= item['weight1']"]
O --> K
K --> P["U_IDC_VALREF =
round((total_weight / 1000) *
CUADRO_VALOR_REFERENCIAL[zona], 2)"]
P --> Q["Armar payload completo"]
Q --> R["Cabecera:
DocType, CardCode, NumAtCard,
DocDate, DocDueDate,
U_IDC_NUMGR, Comments"]
R --> S["DocumentLines[] +
DocumentInstallments[]"]
S --> T["← Retornar dict para
POST /Drafts"]
```