The paper presents a method for determining maintenance and spare provisioning costs, for systems containing a non exponential component. The input data of the model are R(t) - the reliability function with time of the component, T the duration of the life cycle, cost of a repair, cost of a spare part and the turnaround time. The model is applicable for any form of R(t): Weibull, Normal, expressed by an explicit or implicit set of equations and even in the form of discrete frequency table. The calculations can be performed by a simple Excel worksheet and do not require expensive tools (e.g. a flexible Monte Carlo package): The algorithm requires a few iterations of the dot product of two matrices. The entries of the matrices are calculated from the input values and the results of previous iterations, at M equidistant time points along the life cycle. M determines the accuracy of the calculations. The paper indicates sufficient conditions for M, which ensure a desired accuracy. Numerical examples performed on an Excel worksheet are presented. Since the model is applicable for any R(t), it was applied, for verification purposes for R(t) =e(-lambda t), which has well known accurate results. The comparison confirmed the accuracy of the approximations. (C) 2021 Elsevier Inc. All rights reserved.