Hey Nicolai-DK,
I don't know if you ever found a solution or not, but a company that I work with just started using ATUM and asked me if I could extend WP All Import to import to it. The code probably won't work out of the box for you as they have a unique situation with the SKUs. SKUs on their store are in the format of [Vendor Code]_[Product Code]_[Variation Code] so when they started populating the vendors into ATUM they reused the Vendor Codes from the SKUs so my script just grabs the first portion of the SKU. You'd probably need to replace this with another custom field and then pull from that but hopefully this can get you started.
// custom import script for ATUM
add_action( 'pmxi_saved_post', function( $post_id ) {
// set the DB info
global $wpdb;
$table_name = $wpdb->prefix . 'atum_product_data';
// get the supplier id (first part of the product SKU)
$supplier_id = explode( '_', get_post_meta( $post_id, '_sku', true ) );
$supplier_id = $supplier_id[0];
$supplier_id = get_posts( ['post_type' => 'atum_supplier', 'meta_key' => '_code', 'meta_value' => $supplier_id] );
$supplier_id = ( empty( $supplier_id ) ? NULL : $supplier_id[0]->ID );
// get the purchase price
$purchase_price = get_post_meta( $post_id, '_atum_purchase_price', true );
$purchase_price = ( empty( $purchase_price ) ? NULL : $purchase_price );
delete_post_meta( $post_id, '_atum_purchase_price' );
// get the supplier sku
$supplier_sku = get_post_meta( $post_id, '_atum_supplier_sku', true );
$supplier_sku = ( empty( $supplier_sku ) ? NULL : $supplier_sku );
delete_post_meta( $post_id, '_atum_supplier_sku' );
// move the data to the atum db
$n = $wpdb->update( $table_name, array( 'purchase_price' => $purchase_price,
'supplier_id'. => $supplier_id,
'supplier_sku'. => $supplier_sku ),
array( 'product_id' => $post_id ),
array( '%0.2f', '%d', '%s' ),
array( '%d' ) );
// verify that the data updated. If not, try writing a new row
// for some reason variations don't seem to create these entries
if( !$n )
$wpdb->insert( $table_name, array( 'product_id'. => $post_id,
'purchase_price' => $purchase_price,
'supplier_id' => $supplier_id,
'supplier_sku' => $supplier_sku ),
array( '%d', '%0.2f', '%d', '%s' ) );
}, 10, 1 );
So just to re-iterate, unless you're in the same situation as me; you'll probably need to remove the first two lines under the "get the supplier id" comment and replace it with a get_post_meta call like the other 2 items and then add a line to delete that meta after you've read it out of the DB.
Once this is in your function.php file you'll also need to create some new custom meta fields in WP All Import to write the price and sku to. Just make sure it matches whatever is in your script and you should be good to go.
What confused me is that ATUM doesn't seem to generate rows in the database for variations when imported with WP All Import so I had to check if the update failed and do an insert instead in those cases.
Anyways, I'm sure it can probably be improved, but it's 2am and I had to crank out something quick for a client and this works for now. Figured I'd share it here in case it helps anyone.
Goodnight and good luck.