Define qué significa compatible en tu producto
Concreta las versiones y los tipos de información que admitirás: conceptos, textos, descomposiciones, mediciones o certificaciones. Diferencia lo que puedes leer, editar y volver a exportar. Un importador de listados de precios y un editor completo de presupuestos tienen necesidades distintas; esas diferencias deben ser visibles para el usuario.
Separa lectura, validación y modelo de negocio
Conviene separar la interpretación del archivo de la creación de objetos en tu aplicación. Así puedes informar de una referencia desconocida o un dato incompleto antes de alterar un proyecto. Conserva los códigos de origen y define su relación con tus identificadores internos.
- Lectura de registros y codificación de caracteres
- Validación de referencias y datos obligatorios
- Mapeo de conceptos, unidades y relaciones
- Política explícita para registros no admitidos
Diseña importaciones que se puedan revisar
Antes de confirmar una carga, muestra qué se creará y qué podría cambiar. Distingue una nueva versión de presupuesto de una actualización del catálogo. Importar el mismo fichero dos veces no debería duplicar datos sin aviso. Los errores deben identificar el registro o concepto afectado y ofrecer una explicación que permita corregirlo.
Exporta con criterios comprobables
Genera un archivo conforme al alcance acordado y compruébalo con la especificación y el checker oficial cuando sea aplicable. Después ábrelo en los programas destinatarios. Compara estructura, unidades, cantidades y cálculos; comparar solo los bytes no demuestra equivalencia, porque el orden y la representación pueden variar.
Una primera entrega con límites claros
Un primer desarrollo puede cubrir un circuito acotado: importar capítulos y partidas, por ejemplo, dejando otros registros fuera con un aviso. El alcance debe acordarse con muestras representativas, resultados esperados y una estrategia para versiones futuras. Podemos estudiar un módulo dentro de tu aplicación o un servicio de intercambio entre sistemas, según tu arquitectura.
