We call a matrix A nearly totally unimodular if it can be obtained from a totally unimodular matrixà by adding to each row ofà an integer multiple of some fixed row a T ofÃ. For an integer vector b and a nearly totally unimodular matrix A, we denote by P A,b the integer hull of the set {x ∈ R n | Ax ≤ b}. We show that P A,b has the integer decomposition property and that we can find a decomposition of a given integer vector x ∈ kP A,b in polynomial time.An interesting special case that plays a role in many cyclic scheduling problems, is when A is a circular-ones matrix. In this case, we show that given a nonnegative integer k and an integer vector x, testing if x ∈ kP A,b and finding a decomposition of x into k integer vectors in P A,b can be done time O(n(n + m) + size(x)), where A is an m × n matrix. We show that the method unifies some known results on colouring circular arc graphs and edge colouring nearly bipartite graphs. It also gives an efficient algorithm for a packet scheduling problem for smart antennas posed by E. Amaldi et al. in [1,2].