Maritime Chartering & Port Logistics
Maritime Laytime, Demurrage & Despatch Formula
Calculate Total Reversible Allowed Port Laytime Q/R_load + Q/R_dis, Net Laytime Balance, Shipowner Demurrage Penalty, and Charterer Half-Rate Despatch Rebate ("Despatch Half Demurrage").
Audit reversible port laytime and avoid the 2x Despatch-Half-Demurrage pricing bug!
Under a dry-bulk or tanker Voyage Charterparty with Reversible Laytime, the charterer pools Allowed Loading Days t_load = Q_mt / R_load and Allowed Discharging Days t_dis = Q_mt / R_dis into a single combined allowance t_allow = Q_mt / R_load + Q_mt / R_dis! Comparing Actual Counted Port Days t_used against t_allow triggers an asymmetric settlement: if t_used > t_allow, the charterer pays Liquidated Damages ("Demurrage") to the shipowner at full daily rate D_rate * (t_used - t_allow); if fast stevedoring finishes early (t_used < t_allow), the shipowner rebates "Despatch" to the charterer at Despatch Ratio f_desp * D_rate * (t_allow - t_used)—almost universally fixed under maritime custom at f_desp = 0.50 ("Despatch Half Demurrage", DHD)!
Verify on Cargo_Stem Q_mt = 60,000 MT (B2), Load_Rate R_load = 12,000 MT/day (5.00 days allowed, B3), Discharge_Rate R_dis = 10,000 MT/day (6.00 days allowed -> Total Reversible Laytime = 11.00 days in E2, B4), Actual_Port_Days t_used = 13.50 days (B5), Demurrage_Rate D_rate = $24,000/day (B6), and Despatch_Ratio f_desp = 0.50 ($12,000/day DHD, B7): Net Laytime Balance is 13.50 - 11.00 = +2.50 days excess (E3), triggering +$60,000.00 Demurrage Payable to Owner (E4 & E5)! Now test fast port turnaround t_used = 9.00 days (-2.00 days saved): Net Settlement flips to -2.00 * $24,000 * 0.50 = -$24,000.00 ("Despatch Rebate to Charterer")—whereas forgetting the 0.50 DHD factor would over-credit the charterer -$48,000!
| Voyage Charter Laytime Metric (60k MT, 12k/10k Rates, $24k/d Demurrage, DHD=0.5) | Formula | Verified Output |
|---|---|---|
| Total Reversible Allowed Laytime | Q_mt / R_load + Q_mt / R_dis | 11.00 days (5.0d + 6.0d) |
| Net Laytime Variance (Days) | t_used - t_allow | +2.50 days (at 13.50d Used) |
| Port Congestion Demurrage ($) | (t_used - t_allow) * D_rate (if > 0) | +$60,000.00 Payable to Owner |
| Early Completion Despatch @ 9.0d | (t_used - t_allow) * D_rate * f_desp | -$24,000.00 Rebate to Charterer |
Asymmetric Reversible Laytime Settlement Formula
Validate Q_mt > 0, R_load > 0, R_dis > 0, t_used >= 0, D_rate > 0, and 0 <= f_desp <= 1 (where f_desp = 0 models "Free Despatch" charters that pay zero early-completion rebate)!
=LET(q_mt, B2, r_ld, B3, r_ds, B4, t_us, B5, d_rt, B6, f_dp, B7, IF(OR(q_mt <= 0, r_ld <= 0, r_ds <= 0, t_us < 0, d_rt <= 0, f_dp < 0, f_dp > 1), "Invalid Charterparty", LET(t_al, q_mt / r_ld + q_mt / r_ds, df_t, t_us - t_al, ROUND(IF(df_t >= 0, df_t * d_rt, df_t * d_rt * f_dp), 2))))Charterparty Settlement Direction Classifier Formula
Distinguish positive Demurrage Payable to Owner, negative Despatch Rebate to Charterer, and exact Zero Balance ("On Laytime / Free Despatch")!
=IF(ISTEXT(E4), E4, IF(E4 > 0, "Demurrage Payable to Owner", IF(E4 < 0, "Despatch Rebate to Charterer", "Exact Laytime / Zero Settlement")))Try the example
Use the original values or change them to test your understanding.