Intro
As already stated in another answer, this is not an easy task to perform when your setup is complex (comprised of many discrete apparatus pieces), as each piece must be included in the process, which in turn means that it has to be (adequately) characterised.
Introduction
The actual process is to try and include the effect of each equipment piece in the calculation. In the simplest case, where everything is linear and the frequency response of all the equipment parts is flat (not necessarily identical from piece to piece though) all you have to do is to include the gain (either positive or negative) of each piece in the signal chain in the calculation.
The possible exception is the Analogue-to-Digital Converter (ADC) where supposedly there's no gain stage here, just conversion, but here you should know the maximum instantaneous pressure to be quantised (coded may be a better term here).
Solution
In the linear scale gain is applied with multiplication while in the logarithmic scale (dB) with addition (attenuation is through addition with negative gain).
I will try to provide an example where at each step we'll calculate the sound pressure (won't convert to dB since this is quite easy to do if you have the linear value for the pressure) to see how it is related to each step we take towards reaching the dBFS value. I will try to use some of the values you have provided above.
1. Microphone output (sensitivity)
So the first step would be to measure the voltage at the output of your microphone for the reception of a sound. Using a convenient yet random number for that let's assume the output of your microphone would be $8 ~ mV$. Using the sensitivity value you provided ($10 ~ mV/Pa$) we calculate the ratio of the measured value to the reference (sensitivity) to be
$$\frac{8 ~ mV/Pa}{10 ~ mV/Pa} = 0.8$$
Since the measured voltage is $0.8$ times that of the reference sensitivity, the pressure must be $0.8$ times that used to get the sensitivity. The latter is $1 ~ Pa$, so the measured pressure is $0.8 ~ Pa$.
So far all we did was to divide the measured value by the sensitivity value. This allows to calculate the measured pressure by direct comparison of the voltages, since one of the latter is for known pressure (actually all you do is use the rule of three). The general formula for this step is
$$ p = \frac{V_{mic}}{S} \tag{1} \label{sensitivity} $$
where $S$ denotes the sensitivity value in $\frac{V}{Pa}$ and $p$ the pressure value in $Pa$.
Please note that we have assumed that the microphone is used in its linear region (no, or negligible non-linearities take place).
2. Pre-amplifier
Now, most microphones' output is very low to be used effectively in other equipment and a pre-amplification stage is introduced at their output. In the simplest case, this stage will provide a constant amplification. For our example we'll assume a gain of $50$ (note that this corresponds to a gain of roughly $34 ~ dB$ for voltage).
The voltage measured at the output of the pre-amplifier will be
$$ V_{pre} = g_{pre} \cdot V_{mic} = 50 \cdot 8 ~ mV = 400 ~ mV $$
with $g_{pre}$ denoting the amplification. This is the voltage we'll measure if we are measuring at the output of the pre-amplifier. If we would like to calculate the pressure from this value we have to somehow "cancel" the amplification in our calculations. What we could very well do is from the above equation solve for $V_{mic}$ which is the output of the microphone before amplification and we can relate to pressure through the sensitivity value as we did above. Thus, we get
$$ V_{pre} = g_{pre} \cdot V_{mic} \implies V_{mic} = \frac{V_{pre}}{g_{pre}} \implies V_{mic} = \frac{400}{50} ~ mV \implies V_{mic} = 8 ~ mV $$
which is indeed the output of our microphone. At this stage we can refer to the equation \eqref{sensitivity} to get the pressure value.
Incorporating equation \eqref{preamp-stage} into equation \eqref{sensitivity} to represent $V_{mic}$ we get for the "mic + pre-amp" system
$$ p = \frac{V_{mic}}{S} \xrightarrow{V_{mic} = \frac{V_{pre}}{g_{pre}}} p = \frac{\frac{V_{pre}}{g_{pre}}}{S} \implies p = \frac{V_{pre}}{g_{pre} \cdot S} \tag{2} \label{preamp-stage} $$
One thing to note here is that so far we have used RMS values since sensitivity is defined for RMS value of the pressure and voltage.
3. Analogue-to-Digital Conversion (ADC)
This step is the most difficult one to implement in practice since the reference (maximum) value of your AD converter is usually not available/known. If we assume that you do know that then the process is described below. Additionally, for simplicity we'll assume that "generic" PCM coding is used for the conversion but the result is quite generic from a macroscopic point-of-view (assuming the ADC a black box that does its job correctly).
You know what the maximum value that can be represented in the digital domain is as well as the resolution (bit-depth) of your coding scheme. Without loss of generality we'll assume 16-bit resolution, which corresponds to $65536$ discrete amplitude values (and $\sim 90 ~ dB$ of dynamic range - although this is a plasmatic value and is very rarely achieved). Furthermore, we'll also assume that the maximum representable voltage is $5 V_{p-p}$ or $2.5 V_{p}$.
The amplitude step for the quantiser would be given by
$$ q = \frac{5 ~ V}{65536} \approx 76.3 ~ \mu V \tag{3} \label{quantisation-step} $$
Using this value we can calculate the number of steps corresponding to the output voltage of the pre-amplifier since this is the value to be converted. In order to do that though, we first have to calculate the peak value of our signal. Assuming that our signal is a sinewave, to calculate its peak value from the RMS value we multiply by $1.414$ and get $1.414 \cdot 400 ~ mV \approx 565.6 ~ mV$. Thus, the peak value will be at the following quantisation level
$$ N = \frac{V_{pre}}{q} \implies N = \lfloor \frac{565.6 ~ mV}{76.3 ~ \mu V} \rceil \implies N = 7413 \tag{4} \label{unilateral-steps} $$
where $\lfloor ~ \cdot ~ \rceil$ denotes the rounding function (returning the closest integer) which is used in order to place the value to the nearest quantisation level. Since we are dealing with a signal that has both positive and negative values, the middle value of the dynamic range will represent the $0 ~ V$. Thus, the value we found is valid but we have to keep in mind that it represents values above $0 ~ V$. The actual "double-sided" (both positive and negative values) quantisation level corresponding to this value would be $N$ plus half the available steps (which represent the negative values). This would be
$$N_{tot} = 2^{15} + 7413 = 40181 \tag{5} \label{bilateral-steps} $$
Now, since it is customary to express the value in dBFS we could convert our value to dBFS. We can use the original $N$ value we found and divide by half the quantisation levels since we are dealing with the positive values only. This would be
$$ dB_{FS} = 10 \log_{10} \left( \frac{N}{2^{15}} \right) = 10 \log_{10} \left( \frac{7413}{32768} \right) \approx 10 \log_{10} \left( 2.26 \cdot 10^{-1} \right) \approx 10 \cdot \left( -6.45 \cdot 10^{-1} \right) \approx -6.45 $$
So, in our system, a pressure sinewave with RMS value of $0.8 ~ Pa$ would result in $\sim -6.45 ~ dB_{FS}$. To be more exact, we can convert the dBFS value from peak to RMS. We can do that because our signal has a known crest factor equal to $3 ~ dB$, which we can subtract from the dBFS value to find the dBFS value of the RMS of our signal to be equal to $-9.45 ~ dB_{FS}$.
4. Distance from source
You stated that you know the distance from the source. It is not trivial to calculate the sound pressure level at the source with knowledge of the distance from the source and the sound pressure at that distance (assuming you got it from your measurement).
Most source models (at least those that I am aware of) are quite useful for calculating the pressure at various distances from the source assuming a specific radiation characteristics (spherical, cylindrical, etc.) but they all fail at the position of the source (the pressure "explodes"). Furthermore, the models use a far-field approximation which is not valid close to the source (due to evanescent waves).
Conclusion
As you may have already seen, it is definitely not trivial to convert a dBFS value to dBSPL. You have to have knowledge of all the pieces of equipment and their characteristics in order to be able to make the conversion. Not only that but you have to be able to make safe assumptions about the signal, or alternatively work entirely with peak (or peak-to-peak) values. You have to keep in mind though that dBSPL is defined for RMS pressure values and although you could easily use the $20 ~ \mu Pa$ reference value with peak pressure values, this is not entirely correct and will not correspond to SPL values (in the strict definition of the term).
Alternative solution
An alternative approach would be to calibrate your system yourself. This would require
- A source of known characteristics that could produce a known sound pressure at the position of the microphone diaphragm. There are such sources termed calibrators used for this exact purpose. Usually a sinusoidal pressure signal is generated with frequency $f = 1 ~ kHz$ and RMS pressure amplitude of $1 ~ Pa$. The frequency of $1 ~ kHz$ is used so that the calibration will be valid irrespective of weighting filters (A, B, C or Z) since all of them have equal weighting (no weighting actually) at this frequency.
- Constant gain at all stages that won't change after the calibration process.
The process is quite simple and could be easily done if you have the appropriate equipment.
You excite a pressure signal with known pressure at the diaphragm of the microphone. After setting the gains at all stages so that you are satisfied (and make sure to leave adequate headroom for loud sounds that you may be expecting) you record the signal. This recording will contain a signal that will correspond to a pressure sinewave of RMS amplitude of $1 ~ Pa$.
Subsequently, you will use that to compare it to all measurements you will perform. Of course, it doesn't make sense to compare instantaneous values since, even for sinewaves of the same frequency used to calibrate the system a simple phase offset could provide completely erroneous results. Comparing RMS values though is the right way to go. By calculating the RMS value of the recorded reference signal and comparing it to the RMS values of the next measurements you can get a (rather good) estimate of the RMS sound pressure level of the measured signals.
What you actually have to do is exactly what equation \eqref{sensitivity} shows. Albeit, now instead of the sensitivity value $S$ you will use the calibration signal RMS value. In this case, all equipment gain, and quantisation effects will be accounted for by the reference signal's RMS value (assuming you won't change any gain values) and direct comparison will be possible and feasible.
To conclude the answer let's do an example. Let's say you have the $-12 ~ dB_{FS}$ signal you mention. You also have a calibration recorded sound file whose RMS value is $-18.5 ~ dB_{FS}$. What would be the sound pressure level represented by the measured signal? In this case you won't have to even convert the signals to linear values. Since they are both in logarithmic scale you can directly say that your signal is $6.5 ~ dB$ louder than the reference. You do know that the reference signal corresponds to an SPL (RMS value) of $94 ~ dB_{SPL}$ ($1 ~ Pa$ corresponds to $94 ~ dB_{SPL}$, re $20 ~ \mu Pa$). Thus, your signal will correspond to $94 + 6.5 = 100.5 ~ dB_{SPL}$.
Important: Note that in this example, we assumed that the $-12 ~ dB_{FS}$ value corresponds to an RMS value converted to dB. In an alternative way you should convert both values to either peak or RMS.