Jump to content

v7 Guide : What are Expenses ? How can I set them up ?

Recommended Posts

I think, this will be the last of my guides for v7. Below you can see the pre-defined expenses or expense categories;


  • Subfleet Block Hour Cost
  • Subfleet Delay Cost (per minute)
  • Fuel Cost ( 100LL , Mogas , JetA1 )
  • Ground Handling Cost
  • Pilot Salary
  • Fare Cost


Ok, but what are they ? How realistic are they or how they can be used to get something similar to real world. Well, that's the main problem :)


Subfleet Block Hour Cost


Actually this is the aircraft block hour cost, it is the cost to operate an aircraft and for ease it is defined in subfleet level (like many other things) and entered hourly but calculated/applied per minute for each flight. The main difference starts here, real world airlines do have and use block hour costs at aircraft level, not subfleet level but anyway, this is a virtual world and virtual airline so who cares.


Technically block hour cost is the total cost per flight hour of that aircraft; including ownership / leasing , fuel , maintenance , insurance , operating crew , non-operating crew , services and other administrative items (like depreciation).


  • We do not have any ownership/leasing cost. Pilots of your airline do pay for their addons, or use freeware / sim defaults. But we can simulate something for this.
  • We do not have to pay for fuel either but we have a fuel expense category defined as a separate item, so our block hour cost should not include fuel.
  • We do not have anything defined for maintenance in v7, if you are not willing to use a module for want to simulate it with some daily, monthly expenses then we should include this item in block hour cost
  • Above applies to insurance too. Either make it simulated with custom expenses or include it in block hour costs
  • We do pay for the operating crew by ranks (per flight hour) or by the flight itself (fixed), so when calculating a value for block hour cost remove the pilot salary from it and include only your virtual cabin crew and airline crew costs
  • You can of course include all your administrative costs like hosting, domain name, vmsacars, theme, module etc payments in administrative category (per flight hour of course)


So what we have is simply; Simulated ownership costs, simulated insurance cost, simulated crew cost, simulated others ('cause we have the rest as different expense categories)


You can find lots of info via Google or another search engine, every one will have different costs for the same aircraft type 'cause they are all estimates. No airline publicly exposes it's block hour cost per aircraft level. It is a trade secret like the fuel prices they get with contracts. So do not get confused or do not use what you find with the "I am feeling lucky" button.


For example, some do say that operating an Airbus A320 costs around $4000 ! While another blogger or website claims it is $3000 another one may say that it is $1000 ... All are non realistic and estimated figures according to the writers knowledge (or estimates calculated from some balance sheets found publicly).


Long story short, if you want some values from me, i can say that an Airbus A320 or a Boeing B738 (narrow body medium range aircraft) will cost you around $1800-$1900 range (maybe slightly less) excluding fuel, salaries and services (like ground handling) according to 2020 prices (just before the worldwide lockdowns/pandemic).


Here you can see some old values from 2017; (Mx is Maintenance, Ins is Insurance, AC Cost is the ownership/leasing cost )


Aircraft        Carrier     Crew    Fuel     AC Cost     Mx        Ins.   Other   Total
767-300/ER      United      $1,556  $2,445   $198        $1,051     $2    $555    $5,806
767-300/ER      American    $1,540  $2,191   $1,055      $1,378     $4    $84     $6,253


Remove fuel from the total, reduce the crew (or completely remove it too) to get someting for phpvms v7 Subfleet Block Hour Cost.


Subfleet Delay Cost per Minute


Well this is something hard to explain and hard to apply. Of course real airlines do pay fines when they do have delays, or do have some delay related costs but averaging them to a single value and apply it per minute basis is really hard. Why ?


Because you can have some slight delays like +20/30 mins, which will cost you nothing and sometimes you can arrange everything for an expected/planned two hour delay and then it costs nothing , also you may have delays which were caused by uncontrolable factors by you or caused by you then again you pay nothing for that delay.


And in real ops, arriving early may cost you some cash which is totaly dependant on the airport you are using, is it regulated or not ? Did you arranged your airport slot or not ? Are you are frequent user of that airport or not ? How may times you violated your slots for that airport in that calendar year ?


Same goes for the delays, did you made all arrangements for an unexpected delay like refreshments for your passengers at airport, did you informed them before they leave their hotels or homes, did this delay affected their daily routines/schedules like holiday or late for work , if so how much they were affected and what is the total delay time according to your scheduled arrival time (on block time) ... If you manage your delays well, you probably will pay nothing for that delay, if not it really depends on the requlations being applied to your company and flight. You may end up paying $400/500 per pax, provide them meals/snacks/bewerages etc or worse hotel accommodations,transfers etc. 


All of the above are time based but not minute based and not applied to every minute you delay :( So simply, either you will build a really fine schedule to you virtual flights and come up with a good timetable and punish yourself with a fictional delay per minute logic or you may skip using it at all. ( Alternatively you may build up your own delay fines/expenses with your own logic with some code you will develop for delays. )


I personally choosed a mix of skipping and developing my own. So this field is not being used at all in my install. Choice is up to you after all, you are the va admin/owner.


Fuel Costs


We have 3 different fuel types, which can be selected/defined at Subfleet level BUT we have only one fuel price field. Yes, the fuel prices per fuel type is not yet completely developed or designed (it will be fixed soon I hope). So I will stick with JetA1 (which we have in hand and works just fine). Also we have two calculation methods, you can choose one of them according to your wishes;


  1. Calculate fuel cost according to spent/burnt/used fuel for each flight
  2. Calculate fuel cost according to uplifted fuel for each flight ( Admin -> Settings : Advanced Fuel Calculations ON )


First option is pretty straight forwards, needs no explanation, you pay for what you burn.

Second option is a little bit more complex but realistic. This (so called Advanced Fuel Calculation) method checks the remaining fuel from that aircraft's previous flight and then reduces that amount from current flights block fuel, charges the airline for the amount added on top of the remaining fuel. If this is the first flight of this aircraft then you will pay for all and if there is enough fuel left in the tanks, then you will pay nothing :) This is close to the real fueling logic and bills.


Ok, what about the fuel price ?


This also depends on the airline contract, is a trade secret like block cost hours and airline expenses but we have some nice tools online to get some values to begin with. One of them is IATA Fuel Price Monitor others may be 3rd party worldwide service providers. (like RocketRoute). IATA provides region based average values , 3rd party service provides may give you prices per airport. Both are not contracted direct prices, for example RocketRoute provides some service fee and tax info too, so check what is included in the price and for what before direclty using some internet found values.


Also the unit type of the presented value matters (very much), do your math correct. Failing this will make your fuel prices really un-realistic at all. PhpVms v7 uses pounds (lbs) as its application level/database level/internal fuel unit (this also applies to vmsacars and your sims) , so any fuel price you are entering should be using pounds according to your currency. Simply the default JetA1 price at settings and the JetA1 price defined for airports are your_currency per pounds (lbs). 


Let's have an example to get the correct price by using IATA as our source (updated weekly);


1 April 2021    cts/gal   $/bbl    $/mt     vs 1 week   vs 1 month
Worldwide       158.51    66.58   525.75     -0.5%        -7.8%
Europe          155.90    65.48   516.63     -2.3%        -8.4%

cts/gal : US cents per gallon
$/bbl   : US dollars per barrel
$/mt    : US dollars per metric ton


We need the per pound price, so the math should be;


JetA1 price = (158.51 / 6.70) / 100 = 0.236 usd/lbs

1 US Gallon is 6.70 pounds of JetA1 (for division operation) and cts/gal is in cents but we need dollars not cents (second division is for that)


JetA1 price = 66.58 / 281.40 = 0.236 usd/lbs

1 US Oilfield Barrel is 42 US Gallons, thus aprx. 281.40 pounds


JetA1 price = 525.75 / 2204.62 = 0.238 usd/lbs

1 Metric ton is aprx 2204.62 pounds


Rest of the table is for changes according to last week or last month, so if you want to stick with IATA then you can calculate differences and apply them with your own code, or do the update manually as you wish. If you are not using USD as your phpvms currency, then you need to do another math and convert it to your currency ;)


You may found different, probably higher prices online 'cause they do include profits of the supplier and the profits of the agency and they are stop-by prices (no contract) and they do differ from airport to airport. Just know how much it costs, come up with a good balanced price for your airline as the owner/admin.


Also there is fueling service cost (the workmanship of the fuel guy) , you can add a small amout like 0.01 usd/lbs to your fuel price or you may define your own expense for it which can be applied (or better modified and applied) according to the uplifted fuel amount. Cause most of the providers will charge you with some extra fees if you uplift small amounts (like below 600 lbs etc) and may reduce their service charge for intercontinental aircrafts.


Ground Handling Costs


Like others this also depends on the contract you made with them, the services you require or which services are used for that flight, the quality of the services available and to the airport of course. But keep in mind that most of the airport authorities do work with ground handling companies, or say they take the airport usage fee's or landing/parking prices, taxes from you via ground handling companies. So these poor guys are always in between the operator and the authority :) 


You can find some nice / non-contracted values from internet for basic services (medium amount of counters and staff for your flight, pushback, cleaning, gate services, loading/unloading, passenger transfers, load and balance, paperwork etc will all be included in that price and many more little details which we do not use in our sims). Simply i can say you that, ground handling cost for a narrow body medium sized airliner (A320/B738) will be around $1250 - $1500 range around Europe (maybe a little bit more but not less)


And Ground Handling prices do change according to the aircraft type, or the size of it to be more precise, A general aviation aircraft like Cessna 172 will not pay the same ground handling price defined for Boeing 747-800. Same applies to airport landing fee's and taxes, ATC costs etc. To overcome this "little" problem phpvms v7 offers a Ground Handling Multiplier at subfleet level, which is set to 100 by default and simply means that subfleet will pay the %100 of the ground handling price. You are supposed to adjust your subfleets' gh multiplier values if you wish to apply different amounts to different aircraft types (or subfleets)


Also keep in mind that, you do always pay double ground handling bills ... One for departure airpor and, one for arrival airport, this is not a bug, this is how it is designed and how it is in real world too.


Pilot Salary


No need to explain this i think, it is pretty self explaning ... You have two choices;


  • Define rank based per hour pilot wages (separated for both manual and acars pireps)
  • Define flight based per flight pilot wages (defined for each flight you have)


Maybe mixing up the two also works (like a bonus for a special flight + hourly salary from ranks but it is something for you to explore)


Fare Costs


Yes, fares do have costs ... But we defined subfleet block hour costs, what the hell is fare costs for ?


Imagine them like the cost of a passenger for the airline, mainly it can be seen as the cost for airport terminal usage fee. Oh yes, there is something like that in real life and airlines do pay bills for every passenger they do carry in/out from that airport. Simply it is the airport operators share and they do not care you are earning money from that flight or just flying with negative balance sheets. They do want it and they do take it, if you do not pay them you can not use their terminals, that simple.


Surprisingly enough, they are separated from taxes and landing/departing fees, aircraft parking etc (the airport authority takes them mostly with the help/assistance of ground handling agencies). So this is where phpvms v7's fare logic comes in handy, you can define a generic fare cost at fares, and then increase/reduce it at flight level to have better control over it per airport basis.


Imagine you defined $10 (for your base economy fare), but you are flying to LTFM / Istanbul New Airport and they do want to you to pay $15 per passenger, then you can adjust the fare only for your flights to LTFM and edit the cost there. It will be used for financial calculations of those flights. (and be considered for overall va financials etc)


Also you can use fare costs for other passenger related costs if you wish, like caterings you offer for free or services you offer for free.


Custom Expenses


This is where your imagination starts to work or at least needs to work... It is totaly up to you, you can define per flight expenses (like catering or fueling service or tech release service etc) , or can define monthly expenses (like aircraft leasing costs or monthly maintenance or aircraft washing, re-painting etc) or make them daily (like overnight parking, aircraft disinfection due to covid19 measures etc)


The best part of this is, you are totaly free here ... Define anything you want and it is flexible, you can define expenses per airline or per flight type, make them multiplied etc. Or better you can charge the user for an expense.


Unfortunately the above line is a little bit buggy at the moment, charging a user is not fully developed and the multiplication is not working too. I sent a pr (GitHub pull request for changes) aprx 2 weeks ago to fix that but it is still not accepted/merged so I assume Nabeel has some different plans for the finances. Also some users reported Airline expenses being applied to all airlines etc (but I saw some fixes being merged to development builds, so that part may be fixed.


And during some Discord conversations (or was it at the forum maybe) I do read some plans to have time based expenses, which will expand the custom expenses to a new level 'cause then we will be able to define some expenses per flight time (or maybe for ground time who knows) ... Imagine having an Air Traffic Services expense, like in the real world, the more you use the airspace of countries and get ATC services, the more you pay etc.


Also there is an option to make event based expenses, which requires some coding knowledge to listen some events phpvms v7 offers, read some values and apply some expenses according to that values. Like listen pirep events, get the landing rate, if it is a hard landing apply a technical check expense to that flight (and/or apply a penalty expense to your pilot in command).


Just a personal note for custom expenses; If you define some expense which is a part of Ground Handling Cost or a part of Subfleet Block Hour Cost, do not forget to remove that amount from relevant costs. If you skip this, you will charge yourself extra amounts. (Like including maintenance cost to both Block Hour Cost and having an expense for it too)




I think this last bit of my guides for v7 answers some of your questions and helps you to have a better view over the systems/logic of phpvms v7.


In the end, all of the above may be wrong :) This is what i understood from the code running phpvms v7 while I am working to build up my module and trying to fix little bugs reported by users like me. What I added on top is some aviation knowledge and experience of something like 20 years (both sim + real aviation). This applies to all my guides, forum replies, discord messages Official phpvms v7 docs do have the priority.


Safe flights to all and thanks for your time

Edited by DisposableHero
  • Like 4
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...