Six steps: template, CSV, zip, upload, load interface, import. Each has its own failure mode, and the order is not negotiable.
The TEMPLATE is a spreadsheet Oracle publishes per object per release. It defines the columns and their order, and it is version-specific. The CSV comes from that spreadsheet's own generate step, not from Save As — a hand-saved CSV is where date and leading-zero corruption enters. The ZIP is what gets uploaded, and it must contain the CSV named exactly as the interface expects. The UPLOAD puts your data in the interface tables. The IMPORT moves it from there into the application, applying validation, defaulting and business rules.
UPLOAD AND IMPORT ARE SEPARATE, AND THAT SEPARATION IS THE MOST USEFUL THING IN FBDI. Between them your data is sitting in interface tables where you can look at it — before anything is committed to the application. Lesson 5 is about using that window rather than running straight through.
AND THERE IS A DEPENDENCY ORDER BETWEEN OBJECTS THAT NO ERROR MESSAGE EXPLAINS. Suppliers before invoices. Customers before receipts. Chart of accounts values before journals. Load an invoice for a supplier that does not exist yet and the rejection names a column, not the missing prerequisite — so the message sends you to check your file when the file is correct and the sequence is not.
Write the load order down before loading anything, and load one object at a time in that order. It is the single decision that prevents most of the failures in this module.
