This patch gives each secondary industry (those that accept cargo) an annual budget for purchasing that cargo. Each industry has an operating balance which is credited each month up to the annual maximum and from which is deducted the cost of the raw material brought to that industry. If the balance is negative when a delivery arrives, the cargo will be thrown away and no money paid.
You can increase the budget for an industry by transporting the goods it produces as the profit from the transport is also passed back to the originating industry. Each industry tracks its average income (monthly, over a year) and adjusts its budget accordingly. For industries which accept but don't produce (like power stations) their income is directly related to the population of the town they are attached to. Note that income doesn't go directly to the balance - it adjusts the budget which pays into the balance monthly. Let me know if you think it would work better differently.
The point of all this is to shift the goal from 'how can I make the most money?' to 'how can I create a network that makes economic sense?'. For example, it requires you to set up a delivery route for produced cargo if you want to bring in raw materials from a second source, or from far away. It means that some industries may not be profitable to service. I realise that some, if not most people may not be interested in this, but if you fancy a slightly different challenge in openttd, then give the patch a try.
New version! 0.5.5 released 04/05/07
0.5.4 released 20/04/07
0.5.3 released 18/04/07
0.5.2 released 15/04/07
0.5.1 released 13/04/07
0.5 released 09/04/07
0.4.1 released 07/04/07
0.3.2 released 30/03/07
0.3 released 28/03/07
0.2 released 23/03/07
Changes in 0.5.5
- Resolved conflicts due to trunk changes in load/unload and savegame code.
Changes in 0.5.4
- Fixed a bug that prevented industries receiving the correct amount of income.
Changes in 0.5.3
- Rewrote the delivery sharing (4 times) so it performs better and also shares income between producing industries.
- Added: Workers are now given back to the station once they have been used.
- Changed: You will not get any income for passengers delivered to industries. You only get income when you deliver the passengers to a station that has enough houses around it to accept passengers, regardless of whether or not there is an industry nearby. This is to make sure that people transport passengers town<->industry and not industry<->industry. Financially this is no change, as workforce routes still only pay one way, but now you only get paid for the workers that are actually used. However, the receiving industry still pays the delivery cost for every passenger to bring it.
- Fixed a bug in the sharing code that mean an industry would get extra cargo if the total to be delivered was not an exact multiple of the number of industries to share between. (eg 35 passengers between 2 industries was giving 35/17, now gives 18/17)
- Reduced the base budget for primary industries.
Changes in 0.5.2
- Actually included the fix that was meant to be in 0.5.1. Sorry
- Resolved merge problem from recent savegame bump
Changes in 0.5.1
- Fixed a bug that caused income to be calculated incorrectly for trains.
Changes in 0.5
- New patch option under economy to toggle sharing of incoming goods / passengers among the industries within the station's catchment area. If one or more of the stations rejects its share, the program will try to give it to the other stations, until there is no more cargo, or all industries are rejecting. The old behavior is still available if you prefer it. I'd be interested in feedback as to whether there is any performance difference, especially with many large stations.
- New patch option under interface to toggle the display of the accept / reject messages that appear over industries.
- Improved checking of passenger acceptance at stations near industries and towns. This removes the need to manipulate the tile acceptance, so no more 'change of acceptance' popups. Now, if an industry rejects passengers, they will be thrown away, unless there are enough houses around, in which case you will be given the income, but not the workforce.
Changes in 0.4.1
- Fixed a rather major bug with the cargo acceptance and rejection message display. Never trust a x.0 release

Changes in 0.4.0
- Changing workforce of budget multiplier settings mid-game now behaves properly.
- Fixed average monthly income not being saved properly. This will break earlier savegames.
- Workforce now affects budget. Budgets extended to primary industries.
- Added floating text to inform you if cargo has been rejected.
- Initialize budget data correctly for old save games and scenarios.
- Updated readme
Changes in 0.3.2
- Raised the min value window to 5% from 2%
- Fixed a problem with the calculation and display of protected balance
- Show Average value per 100 units for each player, rather than cost and income separately.
- Fixed max production and workforce bugs related to lumbermill production by tree chopping.
- Added a readme with more detailed info about the patch features.
Changes in 0.3
- Stats of each players contribution to each industry, in glorious black-and-red-o-vision.
- The player who has the largest (average income per unit - average cost per unit) is the cheapest. That value minus 2% is the Min Value per 100 units shown at the top of the Finance window.
- The protected balance is equal to 4 times the cheapest player's average monthly cost + income. (Totals, not per unit). Other players can't deliver to the industry if the balance is less than the protected balance, unless their per unit value is greater than the Minimum, ie within 2% of the cheapest.
- A player can only claim best value, and get a protected balance if they are actually delivering cargo to the industry, not just carrying goods away.
- If a player has no interaction with an industry for more than 3 months, their per unit value is reduced by 5% per month.
- If a player has no interaction with an industry for more than 12 months, they are removed from the tracking.
New patch option in economy: Industry Workforce . Note that this defaults to OFF.
- This makes any industry that produces cargo able to accept passengers. , though this isn't shown in the industry view yet
- Delivered passengers go into the workforce and are used to produce cargo. No workers, no cargo.
- Production is displayed as Actual / Max possible.
- If at the end of a month the workforce is more than twice the max production, some of the workers will disappear.
- Don't try and use this with the AI, it can't understand it at all.
- Passengers don't affect budgets. The two patches work independently.
Changes in 0.2
- Initial budges are now set using the actual cost for delivering (budget multiplier -default 100) units per month of each cargo the industry accepts, 30 tiles, in a time that is scaled from 50 days to 2 days according to the start date. The time scaling actually makes relatively little difference
- Budgets are now increased with inflation.
- Finances button on the industry view opens a new window with more detailed finance info.
Issues remaining:
- I haven't yet added budgets to towns. Trickier than expected - not going to happen soon.
As I said I'm not pushing for this to go into trunk, so if you don't like what this does, you don't have to touch it. Other than that, comments and suggestions welcome.