In BF3, the B-F "single bond" has some double bond character, not present in BF4-. If you write a conventional valence bond structure for BF3, with single B-F bonds, there are only six electrons on B and a vacant p-orbital at right angles to the plane of the molecule. So you can give B an octet by writing a formal negative charge on B, a formal positive charge on one of the F, and a double bond between B and that F. In molecular orbital terms, you can say that the appropriate p orbitals on F overlap this vacant orbital on B.