Just to illustrate the canonical answer by Glen (and with the peace of mind of being late for the party to the point that the answer to the OP has rightfully been adjudicated), let me run a toy example in R, crediting this post also by Glen.
Instead of cars and money, I'll make it more picturesque, and focus on the number of fish caught by a fishing company, in relation to the number of vessels out in the sea - if the numbers seem small, imagine that the units are in $10,000$, or something else. The number of fish caught will follow a Poisson distribution with a rate parameter identical to the number of boats from $\lambda=1$ to $\lambda = 14.$
set.seed(0)
sam = 1000 # Random values from a Pois for each lambda.
lambda = c(1,4,7,10,13) # And these are the lambda values.
x = c(rep(lambda[1], sam), rep(lambda[2], sam), rep(lambda[3], sam),
rep(lambda[4], sam), rep(lambda[5],sam)) # These are the number of boats
peixos = rpois(length(x), x) # And the number of fish caught.
We are establishing a relationship between the expected mean and the $x$ axis strictly linear in this simulation:
$\mathbb E(Y\;\vert\;\text{no. boats})= X\beta + \varepsilon$
but with a Poisson distribution of errors, which parameter changes with the value of the explanatory variable.
The rate parameter $\lambda$ increases strictly linearly with the number of boats. In the case of a single boat $(\lambda = 1)$ the distribution around the expected mean is manifest in the density of points close to $1$ in the $y$-axis on the plot below - the data points produce a stripped pattern due to the discrete nature of the Poisson distribution. As the value of lambda increases, the distribution of points, and the corresponding histogram, assume more of a normal shape:

The errors (or residuals if you want) are differently spread depending on the number of boats, because we used $5$ different rate parameters. However, once you know the rate parameter for a given value of the explanatory variable, the probability mass function is determined, allowing you to calculate the probability of any other value.
If we tried to recover the lambdas ($\lambda =\{1,4,7,10,13\}$), we'd only have to run the following command:
> fit = glm(peixos ~ x, family = poisson(link = identity))
> unique(predict(fit))
[1] 1.038018 4.023809 7.009600 9.995391 12.981182
Notice that in keeping with the set up of the toy dataset, the rate parameter was linearly dependent with an identity link. The output would have been off if we had run
> fit <- glm(peixos ~ x, "poisson")
> exp(unique(predict(fit)))
[1] 2.270660 3.602671 5.716065 9.069216 14.389387
implicitly using a $\log$ link function - see this post.
code here