Currently X3 does not allow the user to Invoice before delivery of goods. One way around this is to use non-billable deliveries. Typically an order is created with a required date for shipment and when that date is reached a delivery is created. At the moment you cannot link a non-billable delivery type to an order, as such you cannot effectively manage the requirement