The only free and comprehensive online etymological dictionary of the Spanish language
hacer (Verb) "to make," "to do"
11th cent. Old Spanish fere. From Latin facere 'id.' From Proto-Italic *fak- 'id.' From Proto-Indo-European *dhh1-k- 'id.' From the root *dheh1- "to put" (see dar).
Variants
Navarre fer, La Rioja fer, Aragon fer, Old Spanish far
Indo-European
Romance
Asturian facer, Galician facer, Portuguese fazer, Catalan fer, French faire, Aromanian fac, Romanian face, Sardinian fakere

Following Meyer-Lübke (1890), Old Spanish fere and its dialect variants in fer point to a stress variant in Vulgar Latin *facére that reduced to *fére while modern Spanish hacer reflects Vulgar Latin *fácere > *fácer and then remodeled to hacér in the Middle Ages. While an argument from stress variation in Vulgar Latin should raise eyebrows, it has at least one strong case in pero / peró. A further case that Vulgar Latin *fácere existed is in Old Catalan far "to make," from a pre-form *fare that must derive from a stress-heavy /a/ that caused syncopation of the interior -e-. See Rufat (2013) for further discussion from a Catalan perspective; Chambon (2013) for additional remarks.

The Dictionnaire Étymologique Roman takes a different approach, reconstructing all of the above words in a single Proto-Romance etymon, */ˈɸak‑e‑re/, except for Old Spanish far, which reflects Proto-Romance */ˈɸ‑a‑re/.