insert into ventas (numeracion,usuario_registro,{campos}) values ({valores}); 
set @id=(select LAST_INSERT_ID());
insert into productos_ventas (id_ventas,id_{tabla_productos},{camposp}) values {valoresp};
insert into pagos_ventas (id_ventas,fecha_pago,{campospago}) values {valorespago};

{partes}

call compraRealizada(@id, {multimoneda});
select * from ventas where id=(select @id);