Civilian transport contracts do not subtract the amount delivered from the amount supplied/demanded, causing contracts to last forever instead of being fulfilled.
For example, I requested 2000 infrastructure moved from Earth to Luna. Civilians successfully started moving it. But a year later after delivering all of the requested infrastructure and then some, they still had 2000 infrastructure listed as a supply contract on Earth, and 2000 listed as demand contract on Luna—meaning shipping lines would keep trying to move my infrastructure indefinitely, until the Earth is drained of infrastructure and the civilians start throwing "none were available for pickup" errors in the Event Log.
To reproduce, just create a supply contract and a demand contract on two different bodies and watch as the civilians transport the goods indefinitely from the supplying planet to the demanding planet.