POLDIS is a Monte Carlo program for polarized (semi-inclusive) deep inelastic scattering (DIS). Unpolarized DIS events are generated with the existing lepto-production event generators LEPTO for DIS and AROMA for Heavy Flavor production. The relevant spin asymmetries are computed at partonic level to first order in alpha_s for each generated event, and are then convoluted with the corresponding ratio between the polarized and unpolarized parton distribution functions (i.e. parton polarization). This procedure provides a polarization weight for each event. The average of these polarization weights gives the polarized cross section spin-asymmetry for the generated sample. The code consists of a set of subroutines to be linked with LEPTO and/or AROMA.