First you must determine if a failed MO Receipt is causing your issue.
Indications that an MO receipt failed to post.

1) MO receipt does not show in the MO Activity window

2) Finished good did not update inventory

3) Unable to complete an MO receipt because the lot/serial numbers for the issued components are missing

4) Status of MO did not change to completed or partially received when MO receipt was posted

5) Error "The manufacturing order's received to-date quantity is equal to or greater than the end quantity. Do you want to create a manufacturing order receipt for it?"

6) UserIDFIN0 batch un-posted in Inventory

7) MO has unexplained costs consumed

Once you have determined that a failed MO receipt is causing the issue, depending on the conditions of the MO you would have two options.
1) Close the manufacturing order and make manual reverse adjustments to correct inventory and GL
2) Correct the tables using SQL to removed the failed MO receipt.
Scripts to run to determine if the failed MO receipt can be corrected.
1.The first table to check is the MOP1100. This table is the Receipt Header table. It will hold one record for each MO receipt.
Select * from MOP1100 where manufactureorder_i='enter your MO number’  
Check the column Posted. If it has a value of 0, it means the receipt failed to Post. If you are going to try to do another MO receipt this record will need to be removed. 
This will also allow you to determine the number of MO receipts that have been posted against this MO. Keep in mind when you are evaluating the component quantities in the below statements that part or all of the component quantities may have pulled from previous receipts.

2. The next table we would need to check is the MOP1110. This is the receipt line table. You will need to enter the MO receipt number listed in the above script.  

Select * MOP1110 where moprctnm='Enter your receipt number’  

There should be records in this table for all components (issued or backflushed) on the MO Receipt. See if the records are there and if the QTYTOCONSUME and QTYTOBACKFLUSH columns have values. If there are quantities in the QTYTOBACKFLUSH column check to see if there was an inventory adjustment made for the failed MO receipt. If you are going to try to do another MO receipt these records will need to be removed.  

3. Check the pending tables to see if the MO receipt was removed from these tables.

Select * from MOP1020 where manufactureorder_i='enter your MO number'
Select * from MOP1025 where manufactureorder_i='enter your MO number'
Select * from MOP1001 where manufactureorder_i='enter your MO number'

The above tables are pending tables and the MO receipt should not be in these tables if it posted successfully. If you are going to try to do another MO receipts these records should be removed.

These tables can hold valid pending pick document, invalid pick documents, or failed MO receipts.
Check the DOCNUMBR or MOPDOCNUM columns for the document number.

4. Check the WIP Stack information.

Select * from MOP1000 where manufactureorder_i='enter your MO number'

From the results, you will want to check the quantity received and sold for each of your components and make sure that they are correct. The quantity sold (QTYSOLD) will be updated each time you do an MO receipt and consume or backflush your components. The quantity received (QTYRECVD) will be updated each time you issue components or you backflush them.

Generally, it there is an amount in the QTYSold for backflushed component from the MO receipt, you will need to close the MO.

5. Check the WIP Costing table.

Select * from MOP1002 where manufactureorder_i='enter your MO number’

From the results, you will want to check if the WIPCOSTOUT_I columns were update. If the MO was received there should be amounts in these columns. I do not advise using SQL to updating these columns. If these columns are updated by the failed MO receipt you are better off closing the MO and making manual adjustments to inventory. Keep in mind if there was a partial receipt completed earlier on the MO there will be valid values in these columns

6.  If the finished good or components were either lot or serial tracked you will want to check the following tables.

Select * from MOP1040 where manufactureorder_i='enter your MO number'

Select * from MOP1043 where manufactureorder_i='enter your MO number'

Select * from MOP1120 where moprctnm='Enter your receipt number’
If there are records in these tables, you will need to remove them to reuse the component and finished good serial numbers.

If the components are lot or serial tracked you would also need to verify that the QTYCONSUMED, ATYALLOC, and QTYPENDING in the WO010515 and WO010302 are zero.

Select * from WO010515 where manufactureorder_i='enter your MO number'

Select * from WO010302 where manufactureorder_i='enter your MO number'

How to Correct

1) Always do these steps iin a test environment or have a backup prior to making any changes.
2) If there are records in the WIPCOSTOUT_1 column for this MO receipt make manual adjustment to inventory and close the MO.
3) If there are no amounts in the WIPCOSTOUT_1 for this MO Receipt do the following:
a) Delete the MO Receipt from the MOP1100, MOP1110, MOP1120, MOP1121, MOP1020, MOP1025, MOP1001, MOP1700, MOP1040, and MOP1043.
b) Update the QTYCONSUMED in the MOP1027, MOP1000, WO010302, WO010515. If there are partial receipts already against the MO, you need to take those into account when updating. Only update the quantity associated with the MO.
c) Update the QTYPENDING and ATYALLOC amounts in the MOP1027, WO010515, and WO010302.
d) Update the QTYSOLD in the MOP1000
e) If backflushed quantities updated the MOP1002 cost put into WIP but not the Cost out of WIP and they were not removed from inventory, then update the WIPCOSTIN_I in the MOP1002, update the QTYRECVD column in the MOP1000, and the QTYSOLD column in the MOP1000.