!!!не проверял!!!
в nomoney.pl:
получится что-то типа:
272 if( $service )
273 { # по крайней мере 1 услуга активирована
274 for ($i=1;$i<32;$i++,$service>>=1)
275 {
276 next unless $service & 1;
277 $m=$srv_p[$i];
278 $m=~s/^\~/-/;
279 $money+=$m;
280 $mode_report or next;
281 $ret->{report}.="<tr class=".&prow($r1,$r2)."><td colspan=3>";
282 $_=$srv_n[$i] || 'без названия';
283 s/&/&/g;
284 s/</</g;
285 s/>/>/g;
286 s/'/'/g;
287 $ret->{report}.="Услуга <b>$_</b>, $gr";
288 $ret->{service_list}.="$_: $m $gr\n";
289 $ret->{report}.="</td><$td colspan=2><span class=data2>$m</span></td></tr>";
290 }
291 }
После этого в цене услуги ставим: ~x и при обсчете "~x" превратится в "-x"
P.S. почему сразу нельзя юзать "-"? -- потому, что он считается разделителем и фильтруется при сохранении.